如何根据特定的字符串匹配将特定的字符串附加到另一个字符串?

时间:2019-06-12 00:02:40

标签: python python-2.7

如果名称具有_123_abc_0_abc_1,其中_abc_#,则需要附加# is any number of digits。如何在if条件下编写它?

name = "name_abc_0_any_chars"
if "_abc_<#any digit>" in name: #not sure what to write in place of <#any digit>
    name = name + "_123"
print "name: ", name

输出:

name: name_abc_0_any_chars_123

2 个答案:

答案 0 :(得分:0)

对于不使用正则表达式的解决方案,可以使用any()函数。例如

a = ['_abc_0', '_abc_1', '_abc_2', '_abc_3', '_abc_4', '_abc_5', '_abc_6', '_abc_7', '_abc_8', '_abc_9']
name = "name_abc_34_other_characters"

if any(x in name for x in a):
    name += "_123"

print("name: ", name)

输出:

name:  name_abc_34_other_characters_123

答案 1 :(得分:0)

已编辑

如果要测试变量是否包含_abc_#d,请使用re

import re

name = "name_abc_0_any_chars"
if re.findall('abc_\d+', name):
    name += '_123'

输出:

'name_abc_0_any_chars_123'