我可以这样分割一个字符串:
string = 'ABC_elTE00001'
string = string.split('_elTE')[1]
print(string)
如何自动执行此操作,因此不必将'_elTE'
传递给函数?像这样:
string = 'ABC_elTE00001'
string = string.split('_' + 4 characters)[1]
print(string)
答案 0 :(得分:5)
使用正则表达式,正则表达式有一个re.split
与str.split
相同的东西,只是您可以按正则表达式模式进行拆分,值得一看docs:
>>> import re
>>> string = 'ABC_elTE00001'
>>> re.split('_\w{4}', string)
['ABC', '00001']
>>>
上面的示例使用的是正则表达式模式。
答案 1 :(得分:5)
split()
放在_
上,并获取前四个字符之后的所有内容。
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
答案 2 :(得分:0)
您可以使用正则表达式自动执行所需的提取。
import re
string = 'ABC_elTE00001'
data = re.findall('.([0-9]*$)',string)
print(data)
答案 3 :(得分:0)
这是一个非常可怕的版本,完全“翻译”了string.split('_' + 4 characters)[1]
:
s = 'ABC_elTE00001'
s.split(s[s.find("_"):(s.find("_")+1)+4])[1]
>>> '00001'