Chuỗi.replace () không dùng nữa trên python 3.x. Cách mới để làm điều này là gì?
Chuỗi.replace () không dùng nữa trên python 3.x. Cách mới để làm điều này là gì?
Câu trả lời:
Như trong 2.x, sử dụng str.replace()
.
Thí dụ:
>>> 'Hello world'.replace('world', 'Guido')
'Hello Guido'
re.sub()
.
string
chức năng không được dùng nữa. str
phương pháp thì không.
'foo'.replace(...)
Phương thức thay thế () trong python 3 được sử dụng đơn giản bởi:
a = "This is the island of istanbul"
print (a.replace("is" , "was" , 3))
#3 is the maximum replacement that can be done in the string#
>>> Thwas was the wasland of istanbul
# Last substring 'is' in istanbul is not replaced by was because maximum of 3 has already been reached
Bạn có thể sử dụng str.replace () như một chuỗi str.replace () . Hãy nghĩ rằng bạn có một chuỗi như thế 'Testing PRI/Sec (#434242332;PP:432:133423846,335)'
và bạn muốn thay thế tất cả các '#',':',';','/'
dấu hiệu bằng '-'
. Bạn có thể thay thế theo cách này (cách thông thường),
>>> str = 'Testing PRI/Sec (#434242332;PP:432:133423846,335)'
>>> str = str.replace('#', '-')
>>> str = str.replace(':', '-')
>>> str = str.replace(';', '-')
>>> str = str.replace('/', '-')
>>> str
'Testing PRI-Sec (-434242332-PP-432-133423846,335)'
hoặc theo cách này (chuỗi str.replace () )
>>> str = 'Testing PRI/Sec (#434242332;PP:432:133423846,335)'.replace('#', '-').replace(':', '-').replace(';', '-').replace('/', '-')
>>> str
'Testing PRI-Sec (-434242332-PP-432-133423846,335)'
FYI, khi thêm một số ký tự vào một từ tùy ý, cố định vị trí bên trong chuỗi (ví dụ: thay đổi tính từ thành trạng từ bằng cách thêm hậu tố -ly ), bạn có thể đặt hậu tố ở cuối dòng để dễ đọc. Để làm điều này, sử dụng split()
bên trong replace()
:
s="The dog is large small"
ss=s.replace(s.split()[3],s.split()[3]+'ly')
ss
'The dog is largely small'
ss = s.replace(s.split()[1], +s.split()[1] + 'gy')
# should have no plus after the comma --i.e.,
ss = s.replace(s.split()[1], s.split()[1] + 'gy')