Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Python - ลบตัวอักษรทุกตัวยกเว้นตัวอักษรและตัวเลข

ใช้ re.sub() กับ Pattern [\W_]+ เพื่อแทนที่ตัวอักษรที่ไม่ใช่ Word Character (A-Z, a-z, 0-9, _) และ Underscore ด้วยสตริงว่าง

ตัวอย่างโค้ด

import re

my_string = "python123:, .@! abc"
print("The string is : ")
print(my_string)

result = re.sub('[\W_]+', '', my_string)
print("The expected string is :")
print(result)

ผลลัพธ์

The string is : python123:, .@! abc
The expected string is : python123abc

คำอธิบาย

  • \W = Non-word character (ไม่อยู่ใน [a-zA-Z0-9_])
  • _ เพิ่ม Underscore เข้าไปในชุดที่จะลบ (เพราะ \W ไม่รวม _)
  • + = 1 ตัวขึ้นไป (ลบชุดติดกันครั้งเดียว)
  • re.sub(pattern, '', string) แทนที่ด้วยสตริงว่าง = ลบออก