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
3print[s.replace[' ', '']]
# onetwoonetwoone
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 theo 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
8nguồ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
90], 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
9nguồn.
Đầu tiên, bạn nên thay thế nó bằng một chuỗi khác
s = 'one two one two one'
print[s.replace[' ', '-']]
# one-two-one-two-one
2nguồn.
Hoạt động này có thể được biến thành một chức năng như sau
s = 'one two one two one'
print[s.replace[' ', '-']]
# one-two-one-two-one
3nguồ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
92 đượ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
92 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
92. Trong ví dụ trên, print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
92 đượ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
90], 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
1nguồn.
Hãy cẩn thận nếu
print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
99 [LF, được sử dụng trong hệ điều hành Unix bao gồm cả Mac] và s = 'one two one two one'
print[s.replace[' ', '-']]
# one-two-one-two-one
20 [CR + LF, được sử dụng trong hệ điều hành Windows] được trộn lẫn. Vì print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
99 được bao gồm trong s = 'one two one two one'
print[s.replace[' ', '-']]
# one-two-one-two-one
20, 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
s = 'one two one two one'
print[s.replace[' ', '-']]
# one-two-one-two-one
23, trả về một danh sách được chia với nhiều ký tự xuống dòng khác nhau và s = 'one two one two one'
print[s.replace[' ', '-']]
# one-two-one-two-one
24, kết hợp danh sách với 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ồmprint[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
8nguồ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 s = 'one two one two one'
print[s.replace[' ', '-']]
# one-two-one-two-one
28Chỉ định một từ điển có khóa là ký tự cũ và có giá trị là chuỗi mới trong
s = 'one two one two one'
print[s.replace[' ', '-']]
# one-two-one-two-one
28Ký 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
90]. Chuỗi mới là một chuỗi hoặc s = 'one two one two one'
print[s.replace[' ', '-']]
# one-two-one-two-one
31, trong đó s = 'one two one two one'
print[s.replace[' ', '-']]
# one-two-one-two-one
31 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
s = 'one two one two one'
print[s.replace[' ', '-']]
# one-two-one-two-one
36 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
10 và gọi phương thức s = 'one two one two one'
print[s.replace[' ', '-']]
# one-two-one-two-one
36. Đ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
12 để 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
13, 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
14, 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
14 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
16 giống như print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
17 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
19], nhưng bạn có thể viết print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
80 trong chuỗi thô [print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
81 hoặc print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
82]- 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
s = 'one two one two one'
print[s.replace[' ', '-']]
# one-two-one-two-one
36. Đ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
print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
85 cũng giống như s = 'one two one two one'
print[s.replace[' ', '-']]
# one-two-one-two-one
36. 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
14 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
print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
88, 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