n个字符后的String.split()

时间:2019-04-16 07:12:42

标签: python

我可以这样分割一个字符串:

string = 'ABC_elTE00001'
string = string.split('_elTE')[1]
print(string)

如何自动执行此操作,因此不必将'_elTE'传递给函数?像这样:

string = 'ABC_elTE00001'
string = string.split('_' + 4 characters)[1]
print(string)

4 个答案:

答案 0 :(得分:5)

使用正则表达式,正则表达式有一个re.splitstr.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'