n个字符后的String.split()

Art*_*nov 1 python

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

string = 'ABC_elTE00001'
string = string.split('_elTE')[1]
print(string)
Run Code Online (Sandbox Code Playgroud)

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

string = 'ABC_elTE00001'
string = string.split('_' + 4 characters)[1]
print(string)
Run Code Online (Sandbox Code Playgroud)

U10*_*ard 5

使用正则表达式,正则表达式具有re.splitstr.split您可以按正则表达式模式进行拆分相同的功能,值得看一下docs

>>> import re
>>> string = 'ABC_elTE00001'
>>> re.split('_\w{4}', string)
['ABC', '00001']
>>> 
Run Code Online (Sandbox Code Playgroud)

如上所示,上面的示例正在使用正则表达式模式。


Dir*_*Bit 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:])   
Run Code Online (Sandbox Code Playgroud)

输出

00001
Run Code Online (Sandbox Code Playgroud)

  • @ArturMüllerRomanov我认为您应该选择自己的一种,无论是我的还是DirtyBit的解决方案。 (3认同)
  • 没错,这是另一个主题。我将创建一个新帖子。非常感谢你 (2认同)