Python替换方法奇怪的行为

2024-04-16 08:53:23 发布

您现在位置:Python中文网/ 问答频道 /正文

请帮忙解释一下。我尝试添加max参数,但没有效果

 key = "tea-1_a-1"
 print(key.replace("a-1","a-2")) # prints 'tea-2_a-2'

我需要tea-1_a-2


Tags: key参数printsmaxreplaceprint效果tea
2条回答

请尝试以下操作:

key = "tea-1_a-1"
print(key.replace("_a-1","_a-2")) 

正则表达式可以通过在模式之前查找字符串的开头或下划线来完成这项工作:

>>> import re
>>> key = 'a-1_tea-1'
>>> re.sub(r'(?:^|(?<=_))a-1', 'a-2', key)
'a-2_tea-1'
>>> key = 'tea-1_a-1'
>>> re.sub(r'(?:^|(?<=_))a-1', 'a-2', key)
'tea-1_a-2'

有关详细信息,请参阅PythonRegular expression syntax文档

相关问题 更多 >