Python:
การค้นหาและแทนที่ข้อความ
วิธีการ:
# ใช้ str.replace() สำหรับการเปลี่ยนแปลงแบบง่าย
text = "I like Python. Python is awesome!"
text = text.replace("Python", "programming")
print(text) # ผลลัพธ์: I like programming. programming is awesome!
# ใช้ re.sub() สำหรับการเปลี่ยนแปลงที่อิงตามรูปแบบด้วย regex
import re
text = "Contact us at [email protected]"
new_text = re.sub(r'\b[a-zA-Z0-9.-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}\b', '[email protected]', text)
print(new_text) # ผลลัพธ์: Contact us at [email protected]
ศึกษาลึก
ในช่วงต้นของการเขียนโปรแกรม การแก้ไขข้อความเป็นเรื่องที่ต้องทำด้วยมือและเหนื่อยมาก จนกระทั่ง regex (นิพจน์ปรกติ) ถูกสร้างขึ้นในปี 1950 ทำให้การค้นหาเป็นเรื่องที่น้อยความเจ็บปวดลง สำหรับการเปลี่ยนแปลงที่ง่าย str.replace()
เป็นตัวเลือกแรกของคุณ มันตรงไปตรงมาและเหมาะสำหรับการเปลี่ยนแปลงครั้งเดียว เมื่อคุณมีรูปแบบ เช่น หมายเลขโทรศัพท์ อีเมล หรือวันที่ regex กับ re.sub()
เป็นไม้กายสิทธิ์ มันหาแบบแผนด้วยไวยากรณ์พิเศษและสลับพวกมันออก โปรดจำไว้ว่า regex สามารถเป็นเหมือนสามารถที่แปลกเท่าที่มันมีประสิทธิภาพ; มันเป็นเครื่องมือที่คุณจะดีขึ้นยิ่งคุณแก้ปริศนาได้มากขึ้น
ดูเพิ่มเติม
- Python
str.replace()
documentation - Python
re
module documentation - Regex101: เพื่อทดสอบรูปแบบ regex ออนไลน์
- Automate the Boring Stuff with Python: หนังสือที่คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับงานการประมวลผลข้อความที่มีประโยชน์