ใช้ 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)แทนที่ด้วยสตริงว่าง = ลบออก