Hướng dẫn python replace multiple strings in file - python thay thế nhiều chuỗi trong tệp
Bạn có thể thay thế nội dung của văn bản hoặc tệp bằng Sub từ mô -đun Regex (Re):sub from the regex module (re): Show
Hoặc chỉ với str.replace không cần từ nhập lại phụ:str.replace which does not need from re import sub:
Đây là triển khai đầy đủ: Bài viết này mô tả cách thay thế các chuỗi trong Python.
Không có phương pháp để thay thế chuỗi ở vị trí được chỉ định.
Độ dài của chuỗi (số lượng ký tự) có thể được lấy bằng 01, do đó nó có thể được viết như sau:
Thay thế chất nền: s = 'one two one two one' print(s.replace(' ', '-')) # one-two-one-two-one 1Cách sử dụng cơ bảnChỉ định số lượng thay thế tối đa: 2
Chuỗi hoán đổi
Thay thế ký tự mới
Chỉ định số lượng thay thế tối đa: s = 'one two one two one' print(s.replace(' ', '-')) # one-two-one-two-one 2Thay thế nhiều chuỗi con khác nhau
Thay thế nhiều chuỗi con khác nhauChuỗi hoán đổi Thay thế ký tự mới
Nó chỉ gọi 1 theo thứ tự, vì vậy nếu 0 đầu tiên chứa 9 sau đây, thì 0 đầu tiên cũng được thay thế.
Để thay thế nhiều ký tự (chuỗi có độ dài 3), bạn có thể sử dụng phương thức 3 được mô tả dưới đây.Chuỗi hoán đổiNếu bạn muốn trao đổi hai chuỗi, việc thay thế chúng theo thứ tự như mô tả ở trên có thể không hoạt động.
Đầu tiên, bạn nên thay thế nó bằng một chuỗi khác.
Hoạt động này có thể được biến thành một chức năng như sau: 0Lưu ý rằng chức năng này không hoạt động nếu chuỗi tạm thời 5 được bao gồm trong chuỗi gốc. Nếu bạn muốn làm cho nó nghiêm ngặt, bạn cần kiểm tra xem chuỗi tạm thời 5 có được bao gồm trong chuỗi gốc không và nếu vậy, hãy sử dụng một chuỗi khác cho 5. Trong ví dụ trên, 5 được đặt thành một chuỗi không có ý nghĩa cụ thể.Để trao đổi nhiều ký tự (chuỗi có độ dài 3), bạn có thể sử dụng phương thức 3 được mô tả dưới đây.Thay thế ký tự mớiNếu chuỗi chỉ chứa một loại ký tự dòng mới, bạn có thể chỉ định nó là đối số đầu tiên của 1. 1Hãy cẩn thận nếu 2 (LF, được sử dụng trong HĐH UNIX bao gồm Mac) và 3 (Cr + LF, được sử dụng trong OS Windows) được trộn lẫn. Vì 2 được bao gồm trong 3, bạn không thể nhận được kết quả mong muốn tùy theo thứ tự.Bạn có thể sử dụng 6, trả về danh sách phân chia với các ký tự mới khác nhau và 7, kết hợp danh sách với các chuỗi. Bằng cách này là an toàn và được khuyến nghị, đặc biệt nếu bạn không biết những nhân vật mới được bao gồm những gì. 2Xem bài viết sau đây cho các hoạt động khác liên quan đến việc phá vỡ dòng trong chuỗi.
Thay thế nhiều ký tự khác nhau: s = 'one two one two one' print(s.replace(' ', '-')) # one-two-one-two-one 3Cách sử dụng cơ bảnSử dụng phương thức 3 để thay thế nhiều ký tự khác nhau. Bạn có thể tạo bảng dịch được chỉ định trong 3 bởi 1.
Chỉ định một từ điển có khóa là ký tự cũ và có giá trị là chuỗi mới trong 1.
Nhân vật cũ phải là một ký tự (một chuỗi có độ dài 3). Chuỗi mới là một chuỗi hoặc 4, trong đó 4 loại bỏ các ký tự cũ. 3Đối số đầu tiên là một chuỗi trong đó các ký tự cũ được nối, thứ hai là một chuỗi trong đó các ký tự mới được nối và thứ ba là một chuỗi trong đó các ký tự bị xóa được nối. Đối số thứ ba là tùy chọn. 4Trong trường hợp này, độ dài của các đối số thứ nhất và thứ hai phải khớp. 5Trao đổi ký tựBạn có thể trao đổi các ký tự với 3. 6Thay thế bằng regex: s = 'one two one two one' print(s.replace(' ', '-')) # one-two-one-two-one 4, s = 'one two one two one' print(s.replace(' ', '-')) # one-two-one-two-one 5Nếu bạn muốn thay thế một chuỗi phù hợp với biểu thức thông thường (regex) thay vì kết hợp hoàn hảo, hãy sử dụng 9 của mô -đun RE.
Cách sử dụng cơ bảnSử dụng phương thức 3 để thay thế nhiều ký tự khác nhau. Bạn có thể tạo bảng dịch được chỉ định trong 3 bởi 1. 7str.translate () - Python 3.10.8 Tài liệu 8str.maketrans () - Python 3.10.8 Tài liệu 9Chỉ định một từ điển có khóa là ký tự cũ và có giá trị là chuỗi mới trong print(s.replace('one', 'XtwoX').replace('two', 'YYY')) # XYYYX YYY XYYYX YYY XYYYX print(s.replace('two', 'YYY').replace('one', 'XtwoX')) # XtwoX YYY XtwoX YYY XtwoX 1.Nhân vật cũ phải là một ký tự (một chuỗi có độ dài 3). Chuỗi mới là một chuỗi hoặc 4, trong đó 4 loại bỏ các ký tự cũ.Đối số đầu tiên là một chuỗi trong đó các ký tự cũ được nối, thứ hai là một chuỗi trong đó các ký tự mới được nối và thứ ba là một chuỗi trong đó các ký tự bị xóa được nối. Đối số thứ ba là tùy chọn. 0Trong trường hợp này, độ dài của các đối số thứ nhất và thứ hai phải khớp. 1Trao đổi ký tựBạn có thể trao đổi các ký tự với 3. 2Thay thế bằng regex: 4, 5
Re.sub () - Hoạt động biểu thức thường xuyên - Python 3.10.8 Tài liệu 3Trong 4, chỉ định mẫu regex trong đối số đầu tiên, một chuỗi mới trong chuỗi thứ hai và một chuỗi được xử lý trong chuỗi thứ ba.
4Nhận số lượng các bộ phận thay thế 5 Trả về một bộ của chuỗi thay thế và số lượng các bộ phận được thay thế.
5Việc sử dụng 8 giống như 9. Bạn có thể sử dụng phần được nhóm bởi 7 hoặc chỉ định số lượng thay thế tối đa. 6Thay thế theo vị trí: Cắt látKhông có phương pháp để thay thế chuỗi ở vị trí được chỉ định. Bằng cách chia chuỗi bằng một lát và nối chúng với một chuỗi khác, bạn có thể tạo một chuỗi mới với vị trí được chỉ định được thay thế. 7Độ dài của chuỗi (số lượng ký tự) có thể được lấy bằng 01, do đó nó có thể được viết như sau:
8Số lượng ký tự không phải khớp, vì nó chỉ nối các chuỗi khác nhau giữa các chuỗi phân chia. 9Bạn cũng có thể tạo một chuỗi mới bằng cách chèn một chuỗi khác ở bất cứ đâu trong chuỗi. 0
Xem bài viết sau đây để biết chi tiết về cắt lát.
Bạn có thể thay thế nhiều chuỗi trong Python không?Thay thế nhiều chuỗi con trong một chuỗi bằng cách sử dụng nhiều cuộc gọi để thay thế () được yêu cầu để thay thế nhiều chuỗi con trong một chuỗi. Ngoài ra còn có một tham số thứ ba là tùy chọn trong thay thế () chấp nhận một số nguyên để đặt số lượng thay thế tối đa để thực thi.Multiple calls to replace() function are required to replace multiple substrings in a string. There is also a third parameter that is optional in replace() which accepts an integer to set the maximum count of replacements to execute.
Làm thế nào để bạn thay thế nhiều ký tự bằng thay thế trong Python?Thay thế nhiều ký tự trong một chuỗi bằng danh sách thay thế #.. Lưu trữ các ký tự được thay thế và thay thế trong danh sách .. Sử dụng một vòng lặp để lặp qua danh sách .. Sử dụng str.thay thế () phương thức để thay thế từng ký tự trong chuỗi .. Làm thế nào để bạn thay thế nhiều yếu tố trong Python?Phương pháp 2: Thay thế nhiều ký tự bằng cách sử dụng dịch () + maketrans () Ngoài ra, cũng có một hàm cống hiến có thể thực hiện loại tác vụ thay thế này trong một dòng do đó đây là cách được khuyến nghị để giải quyết vấn đề cụ thể này.using translate() + maketrans() There is also a dedication function that can perform this type of replacement task in a single line hence this is a recommended way to solve this particular problem.
Làm thế nào để bạn thay thế văn bản trong một tệp trong Python?Để thay thế một chuỗi trong tệp bằng Python, hãy làm theo các bước sau:.. Mở tệp đầu vào ở chế độ đọc và xử lý nó ở chế độ văn bản .. Mở tệp đầu ra ở chế độ ghi và xử lý nó ở chế độ văn bản .. Đối với mỗi dòng đọc từ tệp đầu vào, thay thế chuỗi và ghi vào tệp đầu ra .. Đóng cả tệp đầu vào và đầu ra .. |