Hàm nào được sử dụng để thay thế mẫu trong chuỗi?
Trong bài viết này, sẽ tìm hiểu cách sử dụng biểu thức chính quy để thực hiện các thao tác tìm kiếm và thay thế trên chuỗi trong Python Show
Regex Python cung cấp các phương thức target_string = "Jessa knows testing and machine learning"4 target_string = "Jessa knows testing and machine learning"5 để tìm kiếm và thay thế các mẫu trong một chuỗi. Sử dụng các phương thức này, chúng ta có thể thay thế một hoặc nhiều lần xuất hiện của mẫu biểu thức chính quy trong chuỗi đích bằng một chuỗi thay thế Sau khi đọc bài viết này, bạn sẽ có thể thực hiện các thao tác thay thế biểu thức chính quy sau trong Python Hoạt độngMô tảtarget_string = "Jessa knows testing and machine learning"6Tìm và thay thế tất cả các lần xuất hiện của target_string = "Jessa knows testing and machine learning"7 bằng target_string = "Jessa knows testing and machine learning"8 target_string = "Jessa knows testing and machine learning"9Tìm và chỉ thay thế các lần xuất hiện đầu tiên của target_string = "Jessa knows testing and machine learning"7 bằng target_string = "Jessa knows testing and machine learning"8 2Tìm và thay thế các lần xuất hiện đầu tiên của 3 của target_string = "Jessa knows testing and machine learning"7 bằng các hoạt động thay thế biểu thức chính quy của target_string = "Jessa knows testing and machine learning"8Python Trước khi tiếp tục, hãy xem cú pháp của phương thức target_string = "Jessa knows testing and machine learning"4 Mục lụcCách sử dụng phương pháp import re target_str = "Jessa knows testing and machine learning" res_str = re.sub(r"\s", "_", target_str) # String after replacement print(res_str) # Output 'Jessa_knows_testing_and_machine_learning'7Để hiểu cách sử dụng 7 để thay thế regex, trước tiên chúng ta cần hiểu cú pháp của nóCú pháp của lại. phụ() target_string = "Jessa knows testing and machine learning"5 Mẫu biểu thức chính quy, thay thế và chuỗi đích là các đối số bắt buộc. Số lượng và cờ là tùy chọn
Giá trị trả về Nó trả về chuỗi thu được bằng cách thay thế các lần xuất hiện mẫu trong chuỗi bằng chuỗi thay thế. Nếu không tìm thấy mẫu, chuỗi được trả về không thay đổi Bây giờ, hãy kiểm tra điều này Ví dụ về Regex để thay thế tất cả khoảng trắng bằng dấu gạch dướiBây giờ, hãy xem cách sử dụng 7 với sự trợ giúp của một ví dụ đơn giản. Ở đây, chúng ta sẽ thực hiện hai thao tác thay thế
Trước tiên hãy xem kịch bản đầu tiên Mẫu để thay thế. target_string = "Jessa knows testing and machine learning"89 Trong ví dụ này, chúng tôi sẽ sử dụng chuỗi đặc biệt regex target_string = "Jessa knows testing and machine learning"89 khớp với bất kỳ ký tự khoảng trắng nào, viết tắt của target_string = "Jessa knows testing and machine learning"81 Giả sử bạn có chuỗi sau và bạn muốn thay thế tất cả khoảng trắng bằng dấu gạch dưới target_string = "Jessa knows testing and machine learning" Thí dụ ________số 8Regex để xóa khoảng trắng khỏi chuỗiBây giờ, hãy chuyển sang kịch bản thứ hai, nơi bạn có thể xóa tất cả khoảng trắng khỏi chuỗi bằng regex. Hoạt động loại bỏ regex này bao gồm bốn trường hợp sau
ví dụ 1. Xóa tất cả khoảng trắng target_string = "Jessa knows testing and machine learning"8 ví dụ 2. Loại bỏ không gian hàng đầu target_string = "Jessa knows testing and machine learning"8 ví dụ 3. Xóa dấu cách target_string = "Jessa knows testing and machine learning"7 Ví dụ 4. Xóa cả khoảng trắng ở đầu và cuối target_string = "Jessa knows testing and machine learning"8 Thay thế nhiều khoảng trắng bằng một khoảng trắng bằng regextarget_string = "Jessa knows testing and machine learning"9 Giới hạn số lần xuất hiện mẫu tối đa được thay thếNhư tôi đã nói với bạn, đối số target_string = "Jessa knows testing and machine learning"82 của phương thức 7 là tùy chọn. Đối số đếm sẽ đặt số lần thay thế tối đa mà chúng tôi muốn thực hiện bên trong chuỗi. Theo mặc định, target_string = "Jessa knows testing and machine learning"82 được đặt thành 0, có nghĩa là phương thức 7 sẽ thay thế tất cả các lần xuất hiện mẫu trong chuỗi mục tiêuChỉ thay thế những lần xuất hiện đầu tiên của một mẫu Bằng cách đặt target_string = "Jessa knows testing and machine learning"70 bên trong một 7, chúng ta chỉ có thể thay thế lần xuất hiện đầu tiên của một mẫu trong chuỗi mục tiêu bằng một chuỗi khácThay thế n lần xuất hiện của một mẫu Đặt giá trị đếm thành số lần thay thế bạn muốn thực hiện Bây giờ hãy xem ví dụ Thí dụ target_string = "Jessa knows testing and machine learning"6 Hàm thay thế RegexChúng ta đã thấy cách tìm và thay thế mẫu biểu thức chính quy bằng một chuỗi cố định trong ví dụ trước. Trong ví dụ này, chúng ta thấy cách thay thế một mẫu bằng đầu ra của hàm Ví dụ bạn muốn thay thế tất cả các chữ hoa bằng một chữ thường. Để đạt được điều này, chúng ta cần hai điều sau đây
Mẫu để thay thế. target_string = "Jessa knows testing and machine learning"72 Mẫu này sẽ khớp với bất kỳ chữ cái viết hoa nào bên trong chuỗi mục tiêu chức năng thay thế Bạn có thể chuyển một hàm tới target_string = "Jessa knows testing and machine learning"73. Khi bạn thực thi 7 hàm của bạn sẽ nhận được một đối tượng khớp làm đối số. Nếu có thể thực hiện thao tác thay thế bằng cách trích xuất giá trị khớp từ một đối tượng khớpNếu một thay thế là một chức năng, nó được gọi cho mọi lần xuất hiện mẫu không chồng chéo. Hàm nhận một đối số đối tượng khớp duy nhất và trả về chuỗi thay thế Vì vậy, trong trường hợp của chúng tôi, chúng tôi sẽ làm như sau
Thí dụ target_string = "Jessa knows testing and machine learning"2 Regex thay thế nhóm/nhiều mẫu regexChúng ta đã thấy cách tìm và thay thế mẫu biểu thức chính quy đơn lẻ trong các ví dụ trước đó. Trong phần này, chúng ta sẽ tìm hiểu cách tìm kiếm và thay thế nhiều mẫu trong chuỗi mục tiêu Để hiểu điều này, hãy lấy ví dụ về chuỗi sau target_string = "Jessa knows testing and machine learning"77 Ở đây, chúng tôi muốn tìm và thay thế hai mẫu riêng biệt cùng một lúc Chúng tôi muốn thay thế từng khoảng trắng và dấu gạch nối (-) bằng dấu phẩy (,) bên trong chuỗi mục tiêu. Để đạt được điều này, trước tiên chúng ta phải viết hai mẫu biểu thức chính quy
Thí dụ target_string = "Jessa knows testing and machine learning"0 Thay thế nhiều mẫu regex bằng thay thế khác nhauĐể hiểu điều này, hãy lấy ví dụ về chuỗi sau target_string = "Jessa knows testing and machine learning"80 Chuỗi trên chứa sự kết hợp của chữ hoa và chữ thường Ở đây, chúng tôi muốn khớp và thay thế hai mẫu riêng biệt bằng hai thay thế khác nhau
Vì vậy, trước tiên chúng tôi sẽ chụp hai nhóm và sau đó thay thế từng nhóm bằng chức năng thay thế. Nếu bạn chưa biết chức năng thay thế vui lòng đọc tại đây Nhóm 1. ([A-Z]+)
nhóm 2. ([a-z]+)
Ghi chú. Bất cứ khi nào bạn muốn chụp các nhóm, hãy viết chúng trong ngoặc đơn _______ 381, _______ 382 Thí dụ target_string = "Jessa knows testing and machine learning"1 Phương thức subn() của REPhương thức target_string = "Jessa knows testing and machine learning"83 là phương thức mới, tuy thực hiện nhiệm vụ tương tự như phương thức 7 nhưng kết quả trả về có chút khác biệtPhương thức target_string = "Jessa knows testing and machine learning"83 trả về một bộ gồm hai phần tử
Hãy kiểm tra điều này bằng ví dụ tương tự như trước và chỉ thay thế phương thức Thí dụ target_string = "Jessa knows testing and machine learning"2 Ghi chú. Ghi chú. Tôi đã không thay đổi bất cứ điều gì trong mẫu biểu thức chính quy và chuỗi kết quả vẫn như cũ, chỉ có điều lần này nó được bao gồm trong một bộ như là phần tử đầu tiên của bộ đó. Sau đó, sau dấu phẩy, chúng tôi có số lần thay thế được thực hiện và đó là ba Chúng ta cũng có thể sử dụng đối số đếm của phương thức target_string = "Jessa knows testing and machine learning"5. Vì vậy, giá trị của phần tử thứ hai của bộ kết quả sẽ thay đổi tương ứng |