我有一个字符串:
string = '17 121221 17 17939 234343 17 39393'
如何确保在使用string.replace('17','sth')时只更换17个(但不是17,这是17939的一部分)?
我想要一个输出字符串,如:
string = 'sth 121221 sth 17939 234343 sth 39393'
干杯, 凯特
答案 0 :(得分:3)
您可以使用regex
:
import re
string = '17 121221 17 17939 234343 17 39393'
>>> print re.sub(r'(\D|^)17(\D|$)', r'\1sth\2', string)
sth 121221 sth 17939 234343 sth 39393
答案 1 :(得分:1)
更容易使用和防止故障:
>>> string = '17 121221 17 17939 234343 17 39393'
>>> ' '.join( 'sth' if i == '17' else i for i in string.split() )
'sth 121221 sth 17939 234343 sth 39393'
当简单的split/join
足够时,你不应该使用正则表达式。