Phương thức regex tìm kiếm một chuỗi và sau đó thay thế nó bằng một số giá trị khác. con trăn lại. hàm sub[] trong mô-đun re được sử dụng để làm như vậy
cú pháp
re.sub[pattern, replacement, string, count=0, flags=0]
Trước hết, chúng ta hãy hiểu ý nghĩa của tất cả các tham số này.
mẫu. Biểu thức chính quy bạn muốn tìm kiếm và tìm bên trong chuỗi đã cho trong Python.
chuỗi. Biến chứa chuỗi đã cho mà bạn muốn thực hiện thao tác.
đếm. Nếu mẫu xuất hiện nhiều lần trong chuỗi, số lần bạn muốn bạn muốn nó được thay thế. Giá trị mặc định là 0. nó là tùy chọn.
cờ. Cờ regex là tùy chọn.
Đầu vào
import re
str = "[email protected]"
print[re.sub["[a-z]*@", "[email protected]", str]]
Đầu ra.
[email protected]
Thay thế nhiều mẫu bằng biểu thức chính quy
Chúng ta có thể sử dụng regex để thay thế nhiều mẫu cùng một lúc bằng regex. Điều này có thể dễ dàng thực hiện bằng cú pháp sau
cú pháp
re.sub[pattern_1 | pattern_2, replacement, string, count=0, flags=0]
Đầu vào.
import re
str = "Joe-Kim Ema Max Aby Liza"
print[re.sub["[\s] | [-]", ", ", str]]
Đầu ra.
"Joe, Kim, Ema, Max, Aby, Liza"
Thay thế nhiều mẫu bằng nhiều thay thế bằng regex
Bây giờ, nếu đã từng, bạn muốn thay thế nhiều mẫu nhưng bằng các cách thay thế khác nhau thì cũng có thể sử dụng regex. Nó có thể được thực hiện với một sửa đổi nhỏ mà bạn có thể thấy trong ví dụ sau.Đầu vào.
import re
def convert_case[match_obj]:
if match_obj.group[1] is not None:
return match_obj.group[1].lower[]
if match_obj.group[2] is not None:
return match_obj.group[2].upper[]
str = "jOE kIM mAx ABY lIzA"
print[re.sub[r"[[A-Z]+] | [[a-z]+]", convert_case, str]]
Trong ví dụ này, chuỗi chứa chữ hoa và chữ thường mà chúng ta cần thay thế. Ta cần thay chữ hoa bằng chữ thường và ngược lại.
Để làm điều đó, chúng tôi sẽ tạo hai nhóm và sau đó thêm chức năng để thay thế.
Đầu ra.
"Joe Kim MaX aby LiZa"
Bớt tư tưởng
Để thay thế một chuỗi trong Python, phương thức regex sub[] được sử dụng. Đó là một phương thức Python tích hợp trong mô-đun re trả về chuỗi đã thay thế. Đừng quên nhập mô-đun lại. Phương thức này tìm kiếm mẫu trong chuỗi và sau đó thay thế nó bằng một biểu thức đã cho mới. Mọi người có thể tìm hiểu thêm về các khái niệm Python tại đây
Chúng ta đã biết rằng các chuỗi được định nghĩa là một chuỗi các ký tự và chúng ta có thể thực hiện nhiều thao tác khác nhau trên chúng
Trong hướng dẫn này, chúng ta sẽ tìm hiểu thêm một tác vụ thú vị có thể được thực hiện bằng chuỗi trong Python
Ở đây chúng ta sẽ xem cách chúng ta có thể xóa nhiều ký tự khỏi nó
Chúng tôi đã liệt kê bên dưới các phương pháp mà chúng tôi sẽ học để đáp ứng mục tiêu của chúng tôi
- Sử dụng thay thế lồng nhau[]
- Sử dụng dịch[] và maketrans[]
- Sử dụng subn[]
- Sử dụng phụ[]
Sử dụng thay thế lồng nhau[]
Trong chương trình đưa ra dưới đây, chúng ta sẽ thấy cách thay thế [] được sử dụng để xóa nhiều ký tự khỏi chuỗi
đầu ra
________số 8
Giải trình-
- Ở bước đầu tiên, chúng tôi đã khởi tạo chuỗi có các ký tự mà chúng tôi muốn thay thế
- Sau này, chúng tôi đã hiển thị chuỗi gốc để chúng tôi có thể dễ dàng hiểu được sự khác biệt giữa chuỗi này và đầu ra dự kiến
- Bây giờ chúng tôi đã sử dụng thay thế [] và chỉ định các ký tự mà chúng tôi muốn xóa hoặc thay đổi
- Khi thực hiện chương trình, đầu ra mong muốn được hiển thị
Trong chương trình thứ hai, chúng ta sẽ xem cách translate[] và maketrans[] có thể được sử dụng để làm điều tương tự. Người dùng phải ghi nhớ điều này rằng nó chỉ hoạt động trong Python 2
Sử dụng dịch[] và maketrans[]
Chương trình sau đây cho thấy làm thế nào nó có thể được thực hiện
đầu ra
________số 8
Giải trình-
- Ở bước đầu tiên, chúng tôi đã khởi tạo chuỗi có các ký tự mà chúng tôi muốn thay thế
- Sau này, chúng tôi đã hiển thị chuỗi gốc để chúng tôi có thể dễ dàng hiểu được sự khác biệt giữa chuỗi này và đầu ra dự kiến
- Bây giờ chúng tôi đã sử dụng thay thế [] và chỉ định các ký tự mà chúng tôi muốn xóa hoặc thay đổi
- Khi thực hiện chương trình, đầu ra mong muốn được hiển thị
Bây giờ chúng ta sẽ thảo luận về cách. subn[] có thể trở thành công cụ hỗ trợ cho việc này. Subn[] trả về một chuỗi mới với tổng số lần thay thế