[英]How to append particular string to another string based on a specific string match?
I need to append _123
if name has _abc_0
or _abc_1
or _abc_#
where # is any number of digits
. 如果name有
_abc_0
或_abc_1
或_abc_#
,我需要附加_123
,其中# is any number of digits
。 How can I write it in if
condition? 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
Output: 输出:
name: name_abc_0_any_chars_123
For a solution without regex, you could use the any()
function. 对于没有正则表达式的解决方案,您可以使用
any()
函数。 Eg 例如
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)
Output: 输出:
name: name_abc_34_other_characters_123
Edited 编辑
If you want to test if a variable contains _abc_#d
, use re
: 如果要测试变量是否包含
_abc_#d
,请使用re
:
import re
name = "name_abc_0_any_chars"
if re.findall('abc_\d+', name):
name += '_123'
Output: 输出:
'name_abc_0_any_chars_123'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.