Python:
Tìm kiếm và thay thế văn bản
Làm thế nào:
# Sử dụng str.replace() cho việc thay thế đơn giản
text = "Tôi thích Python. Python thật tuyệt vời!"
text = text.replace("Python", "lập trình")
print(text) # Đầu ra: Tôi thích lập trình. lập trình thật tuyệt vời!
# Sử dụng re.sub() cho việc thay thế dựa trên mẫu với regex
import re
text = "Liên hệ với chúng tôi qua [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) # Đầu ra: Liên hệ với chúng tôi qua [email protected]
Tìm hiểu sâu
Ngày xưa, chỉnh sửa văn bản là một quá trình thủ công mệt mỏi. Vào đấy, regex (biểu thức chính quy), được xây dựng trong những năm 1950, đã làm cho việc tìm kiếm trở nên ít đau đầu hơn. Đối với việc thay thế đơn giản, str.replace()
là lựa chọn của bạn. Nó đơn giản và tốt cho những thay thế một lần. Khi bạn có các mẫu như số điện thoại, email, hoặc ngày tháng, regex với re.sub()
là cây đũa thần. Nó tìm kiếm các mẫu với một cú pháp đặc biệt và thay thế chúng. Hãy nhớ, regex có thể quái đản nhưng cũng mạnh mẽ; đó là một công cụ mà bạn càng giải quyết nhiều câu đố thì càng trở nên giỏi hơn.
Xem thêm
- Tài liệu Python
str.replace()
- Tài liệu mô-đun
re
của Python - Regex101: Để thử nghiệm các mẫu regex trực tuyến
- Automate the Boring Stuff with Python: Một cuốn sách nơi bạn có thể học thêm về các nhiệm vụ xử lý văn bản thực tế.