Làm thế nào để bạn thay thế hai ký tự trong một chuỗi trong python?

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ới

Ví 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ới

thay 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ứ hai

s = '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

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
8

print[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
0

nguồ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ưới

trao đổ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
1

nguồ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
4

nguồ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
5

nguồ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ưới

Thay 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
8

print[s.replace['one', 'XXX'].replace['two', 'YYY']]
# XXX YYY XXX YYY XXX
3

nguồ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àng

Bạ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ồm

s = 'one two one two one'

print[s.replace[' ', '-']]
# one-two-one-two-one
0

nguồ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

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
48

Chỉ đị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
48

Ký 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
0

nguồ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
1

nguồ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
2

nguồ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
0

print[s.replace[' ', '']]
# onetwoonetwoone
3

nguồ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

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 re

sử 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ứ ba

print[s.replace[' ', '']]
# onetwoonetwoone
4

nguồ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
9

print[s.replace[' ', '']]
# onetwoonetwoone
5

nguồ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 quy

print[s.replace[' ', '']]
# onetwoonetwoone
6

nguồ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ỗi

print[s.replace[' ', '']]
# onetwoonetwoone
7

nguồ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ỗi

print[s.replace[' ', '']]
# onetwoonetwoone
8

nguồ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ới

print[s.replace[' ', '']]
# onetwoonetwoone
9

nguồ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ơn

print[s.replace['one', 'XXX']]
# XXX two XXX two XXX

print[s.replace['one', 'XXX', 2]]
# XXX two XXX two one
0

nguồ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
1

nguồ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
2

nguồ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 đa

print[s.replace['one', 'XXX']]
# XXX two XXX two XXX

print[s.replace['one', 'XXX', 2]]
# XXX two XXX two one
3

nguồ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
4

nguồ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
5

nguồ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

Chủ Đề