我可以像这样拆分字符串:string = 'ABC_elTE00001'string = string.split('_elTE')[1]print(string)我如何自动化这个,所以我不必传递'_elTE'给函数?像这样的东西:string = 'ABC_elTE00001'string = string.split('_' + 4 characters)[1]print(string)
3 回答

慕沐林林
TA贡献2016条经验 获得超9个赞
split()on_并取前四个字符之后的所有内容。
s = 'ABC_elTE00001'
# s.split('_')[1] gives elTE00001
# To get the string after 4 chars, we'd slice it [4:]
print(s.split('_')[1][4:])
输出:
00001

慕容708150
TA贡献1831条经验 获得超4个赞
使用正则表达式,正则表达式有一个re.split东西,str.split就像你可以用正则表达式模式分割一样,值得看看文档:
>>> import re
>>> string = 'ABC_elTE00001'
>>> re.split('_\w{4}', string)
['ABC', '00001']
>>>
如您所见,上面的示例使用正则表达式模式。

四季花海
TA贡献1811条经验 获得超5个赞
这是一个非常可怕的版本,完全可以“翻译” string.split('_' + 4 characters)[1]:
s = 'ABC_elTE00001'
s.split(s[s.find("_"):(s.find("_")+1)+4])[1]
>>> '00001'
添加回答
举报
0/150
提交
取消