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

การค้นหาและแทนที่ (Search and Replace) ใน Python

หนึ่งในเมธอด re ที่สำคัญที่สุดซึ่งใช้นิพจน์ปกติคือ sub

ไวยากรณ์ (Syntax)

re.sub(pattern, repl, string, max=0)

เมธอดนี้แทนที่ทุกครั้งที่พบนิพจน์ปกติ pattern ใน string ด้วย repl โดยแทนที่ทุกครั้งที่พบ เว้นแต่จะระบุ max เมธอดนี้คืนค่าสตริงที่แก้ไขแล้ว

ตัวอย่าง

#!/usr/bin/python
import re
phone = "2004-959-559 # This is Phone Number"
# ลบคอมเมนต์สไตล์ Python
num = re.sub(r'#.*$', "", phone)
print "Phone Num : ", num
# ลบอะไรก็ตามที่ไม่ใช่ตัวเลข
num = re.sub(r'\D', "", phone)
print "Phone Num : ", num

ผลลัพธ์ (Output)

เมื่อรันโค้ดข้างต้น จะได้ผลลัพธ์ดังนี้:

Phone Num : 2004-959-559 
Phone Num : 2004959559