Phương thức
print[s.replace['one', 'XXX']]
# XXX two XXX two XXX
print[s.replace['one', 'XXX', 2]]
# XXX two XXX two one
1 thay thế mỗi lần xuất hiện khớp của ký tự/văn bản cũ trong chuỗi bằng ký tự/văn bản mớiVí dụ
text = 'bat ball'
# replace b with c
replaced_text = text.replace['b', 'c']
print[replaced_text]
# Output: cat call
thay thế [] Cú pháp
Cú pháp của nó là
str.replace[old, new [, count]]
thay thế [] Tham số
Phương thức
print[s.replace['one', 'XXX']]
# XXX two XXX two XXX
print[s.replace['one', 'XXX', 2]]
# XXX two XXX two one
1 có thể nhận tối đa 3 tham số- cũ - chuỗi con cũ bạn muốn thay thế
- mới - chuỗi con mới sẽ thay thế chuỗi con cũ
- đếm [tùy chọn] - số lần bạn muốn thay thế chuỗi con cũ bằng chuỗi con mới
Ghi chú. Nếu số lượng không được chỉ định, phương thức
print[s.replace['one', 'XXX']]
# XXX two XXX two XXX
print[s.replace['one', 'XXX', 2]]
# XXX two XXX two one
1 sẽ thay thế tất cả các lần xuất hiện của chuỗi con cũ bằng chuỗi con mớithay thế [] Giá trị trả về
Phương thức
print[s.replace['one', 'XXX']]
# XXX two XXX two XXX
print[s.replace['one', 'XXX', 2]]
# XXX two XXX two one
1 trả về một bản sao của chuỗi trong đó chuỗi con cũ được thay thế bằng chuỗi con mới. Chuỗi ban đầu không thay đổi Chỉ định chuỗi cũ
print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
6 cho đối số đầu tiên và chuỗi mới print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
7 cho đối số thứ hais = 'one two one two one'
print[s.replace[' ', '-']]
# one-two-one-two-one
nguồn.
Bạn có thể loại bỏ
print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
6 bằng cách chỉ định print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
7 là chuỗi rỗng print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
3________số 8
nguồn.
Chỉ định số lần thay thế tối đa. print[s.replace['one', 'XXX']]
# XXX two XXX two XXX
print[s.replace['one', 'XXX', 2]]
# XXX two XXX two one
9
print[s.replace['one', 'XXX']]
# XXX two XXX two XXX
print[s.replace['one', 'XXX', 2]]
# XXX two XXX two one
Bạn có thể chỉ định số lần thay thế tối đa trong tham số thứ ba,
print[s.replace['one', 'XXX']]
# XXX two XXX two XXX
print[s.replace['one', 'XXX', 2]]
# XXX two XXX two one
9. Nếu print[s.replace['one', 'XXX']]
# XXX two XXX two XXX
print[s.replace['one', 'XXX', 2]]
# XXX two XXX two one
9 được đưa ra, chỉ những lần xuất hiện đầu tiên của print[s.replace['one', 'XXX']]
# XXX two XXX two XXX
print[s.replace['one', 'XXX', 2]]
# XXX two XXX two one
9 mới được thay thếprint[s.replace['one', 'XXX']]
# XXX two XXX two XXX
print[s.replace['one', 'XXX', 2]]
# XXX two XXX two one
nguồn.
Thay thế nhiều chuỗi con khác nhau
Để thay thế nhiều chuỗi khác nhau bằng cùng một chuỗi, hãy sử dụng các biểu thức chính quy như được mô tả bên dưới
Không có phương pháp nào để thay thế nhiều chuỗi khác nhau bằng các chuỗi khác nhau, nhưng bạn có thể áp dụng liên tục
print[s.replace['one', 'XXX']]
# XXX two XXX two XXX
print[s.replace['one', 'XXX', 2]]
# XXX two XXX two one
8print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
nguồn.
Nó chỉ gọi
print[s.replace['one', 'XXX']]
# XXX two XXX two XXX
print[s.replace['one', 'XXX', 2]]
# XXX two XXX two one
8 theo thứ tự, vì vậy nếu print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
7 đầu tiên chứa print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
6 sau, thì print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
7 đầu tiên cũng được thay thếprint[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
0nguồn.
Để thay thế nhiều ký tự [chuỗi có độ dài
print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
10], bạn có thể sử dụng phương pháp print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
0 được mô tả bên dướitrao đổi chuỗi
Nếu bạn muốn hoán đổi hai chuỗi, việc thay thế chúng theo thứ tự như mô tả ở trên có thể không được
print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
1nguồn.
Đầu tiên, bạn nên thay thế nó bằng một chuỗi khác
print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
4nguồn.
Hoạt động này có thể được biến thành một chức năng như sau
print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
5nguồn.
Lưu ý rằng chức năng này không hoạt động nếu chuỗi tạm thời
print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
12 đượ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 print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
12 có được bao gồm trong chuỗi gốc hay không và nếu có, hãy sử dụng một chuỗi khác cho print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
12. Trong ví dụ trên, print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
12 được đặt thành một chuỗi không có ý nghĩa cụ thểĐể hoán đổi nhiều ký tự [chuỗi có độ dài
print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
10], bạn có thể sử dụng phương pháp print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
0 được mô tả bên dướiThay thế ký tự xuống dòng
Nếu chuỗi chỉ chứa một loại ký tự xuống dòng, bạn có thể chỉ định nó làm đối số đầu tiên của
print[s.replace['one', 'XXX']]
# XXX two XXX two XXX
print[s.replace['one', 'XXX', 2]]
# XXX two XXX two one
8print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
3nguồn.
Hãy cẩn thận nếu kết hợp giữa
print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
19 [LF, được sử dụng trong Hệ điều hành Unix bao gồm Mac] và print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
40 [CR + LF, được sử dụng trong Hệ điều hành Windows]. Vì print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
19 được bao gồm trong print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
40, bạn không thể nhận được kết quả mong muốn tùy thuộc vào đơn đặt hàngBạn có thể sử dụng
print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
43, trả về một danh sách được chia với nhiều ký tự xuống dòng khác nhau và print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
44, kết hợp các danh sách với các chuỗi. Cách này an toàn và được khuyên dùng, đặc biệt nếu bạn không biết những ký tự xuống dòng nào được bao gồms = 'one two one two one'
print[s.replace[' ', '-']]
# one-two-one-two-one
0nguồn.
Xem bài viết sau để biết các thao tác khác liên quan đến ngắt dòng trong chuỗi
- Xử lý ngắt dòng [dòng mới] trong Python
Thay thế nhiều ký tự khác nhau. print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
0
print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
sử dụng cơ bản
Sử dụng phương pháp
print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
0 để thay thế nhiều ký tự khác nhau. Bạn có thể tạo bảng dịch được chỉ định trong print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
0 bởi print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
48Chỉ đị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', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
48Ký tự cũ phải là ký tự [chuỗi có độ dài
print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
10]. Chuỗi mới là một chuỗi hoặc print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
51, trong đó print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
51 loại bỏ các ký tự cũprint[s.replace[' ', '']]
# onetwoonetwoone
0nguồn.
Đối số đầu tiên là một chuỗi trong đó các ký tự cũ được nối với nhau, đối số thứ hai là một chuỗi trong đó các ký tự mới được nối với nhau và đối số thứ ba là một chuỗi trong đó các ký tự bị xóa được nối với nhau. Đối số thứ ba là tùy chọn
print[s.replace[' ', '']]
# onetwoonetwoone
1nguồn.
Trong trường hợp này, độ dài của đối số thứ nhất và thứ hai phải khớp với nhau
print[s.replace[' ', '']]
# onetwoonetwoone
2nguồn.
Hoán đổi ký tự
Bạn có thể hoán đổi ký tự với
print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
0print[s.replace[' ', '']]
# onetwoonetwoone
3nguồn.
Liên kết được tài trợ
Thay thế bằng regex. print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
1, print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
2
print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
Nếu bạn muốn thay thế một chuỗi khớp với biểu thức chính quy [regex] thay vì khớp hoàn hảo, hãy sử dụng
print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
56 của mô-đun resử dụng cơ bản
Trong
print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
1, chỉ định một mẫu biểu thức chính quy trong đối số đầu tiên, một chuỗi mới trong đối số thứ hai và một chuỗi sẽ được xử lý trong đối số thứ baprint[s.replace[' ', '']]
# onetwoonetwoone
4nguồn.
Như với
print[s.replace['one', 'XXX']]
# XXX two XXX two XXX
print[s.replace['one', 'XXX', 2]]
# XXX two XXX two one
8, bạn có thể chỉ định số lần thay thế tối đa trong tham số thứ tư, print[s.replace['one', 'XXX']]
# XXX two XXX two XXX
print[s.replace['one', 'XXX', 2]]
# XXX two XXX two one
9print[s.replace[' ', '']]
# onetwoonetwoone
5nguồn.
Bạn cũng có thể tạo đối tượng mẫu biểu thức chính quy bằng
print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
30 và gọi phương thức print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
56. Điều này hiệu quả hơn nếu bạn muốn sử dụng lặp đi lặp lại cùng một mẫu biểu thức chính quyprint[s.replace[' ', '']]
# onetwoonetwoone
6nguồn.
Thay thế nhiều chuỗi con bằng cùng một chuỗi
Hai điều sau đây rất hữu ích để ghi nhớ ngay cả khi bạn không quen với biểu thức chính quy
Kèm theo một chuỗi với
print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
32 để khớp với bất kỳ ký tự đơn nào trong đó. Bạn có thể thay thế nhiều ký tự khác nhau bằng cùng một chuỗiprint[s.replace[' ', '']]
# onetwoonetwoone
7nguồn.
Nếu các mẫu được phân định bởi
print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
33, thì nó khớp với bất kỳ mẫu nào. Tất nhiên, có thể sử dụng các ký tự đặc biệt của biểu thức chính quy cho mỗi mẫu, nhưng cũng không sao ngay cả khi chuỗi bình thường được chỉ định như vậy. Bạn có thể thay thế nhiều chuỗi khác nhau bằng cùng một chuỗiprint[s.replace[' ', '']]
# onetwoonetwoone
8nguồn.
Thay thế bằng phần phù hợp
Nếu một phần của mẫu được đính kèm trong
print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
34, bạn có thể sử dụng một chuỗi khớp với phần được đính kèm trong print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
34 trong chuỗi mớiprint[s.replace[' ', '']]
# onetwoonetwoone
9nguồn.
Cần thoát
print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
36 giống như print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
37 trong chuỗi bình thường [print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
3 hoặc print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
39], nhưng bạn có thể viết s = 'one two one two one'
print[s.replace[' ', '-']]
# one-two-one-two-one
00 trong chuỗi thô [s = 'one two one two one'
print[s.replace[' ', '-']]
# one-two-one-two-one
01 hoặc s = 'one two one two one'
print[s.replace[' ', '-']]
# one-two-one-two-one
02]- Chuỗi thô trong Python
Bạn có thể chỉ định một hàm lấy một đối tượng khớp làm đối số của nó, làm đối số thứ hai của
print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
56. Điều này cho phép các hoạt động phức tạp hơnprint[s.replace['one', 'XXX']]
# XXX two XXX two XXX
print[s.replace['one', 'XXX', 2]]
# XXX two XXX two one
0nguồn.
Bạn có thể sử dụng biểu thức lambda
- Biểu thức Lambda trong Python
print[s.replace['one', 'XXX']]
# XXX two XXX two XXX
print[s.replace['one', 'XXX', 2]]
# XXX two XXX two one
1nguồn.
Lấy số lượng các bộ phận được thay thế
print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
2 trả về một bộ chuỗi đã thay thế và số phần được thay thếprint[s.replace['one', 'XXX']]
# XXX two XXX two XXX
print[s.replace['one', 'XXX', 2]]
# XXX two XXX two one
2nguồn.
Việc sử dụng
s = 'one two one two one'
print[s.replace[' ', '-']]
# one-two-one-two-one
05 cũng giống như print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
56. Bạn có thể sử dụng bộ phận được nhóm bởi print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
34 hoặc chỉ định số lượng bộ phận thay thế tối đaprint[s.replace['one', 'XXX']]
# XXX two XXX two XXX
print[s.replace['one', 'XXX', 2]]
# XXX two XXX two one
3nguồn.
Thay thế theo vị trí. lát cắt
Không có phương pháp để thay thế chuỗi tại vị trí đã chỉ định
Bằng cách tách chuỗi bằng một lát cắ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í đã chỉ định được thay thế
print[s.replace['one', 'XXX']]
# XXX two XXX two XXX
print[s.replace['one', 'XXX', 2]]
# XXX two XXX two one
4nguồn.
Độ dài của chuỗi [số ký tự] có thể được lấy bằng
s = 'one two one two one'
print[s.replace[' ', '-']]
# one-two-one-two-one
08, vì vậy nó có thể được viết như sau- Lấy độ dài của một chuỗi [số ký tự] trong Python
print[s.replace['one', 'XXX']]
# XXX two XXX two XXX
print[s.replace['one', 'XXX', 2]]
# XXX two XXX two one
5nguồn.
Số lượng ký tự không nhất thiết phải khớp, vì nó chỉ nối các chuỗi khác nhau giữa các chuỗi được phân tách