在最后一个字符出现后获取所有内容

twi*_*igg 10 python python-2.7

我已经看到过用其他语言提问但是找不到它的Python,也许它有一个我不知道的特定名称.我想在最后一次出现' - '字符后拆分一行,我的字符串如下所示:

POS--K    100    100    001    -    1462
Run Code Online (Sandbox Code Playgroud)

我想从最后一个字符串后面取这个字符串中的最后一个数字 - 在本例中为1462.我不知道如何实现这个目的,为了实现这一点,当只有一个这样的字符被预期时我将使用以下内容:

last_number = last_number[last_number.index('-')+1:]
Run Code Online (Sandbox Code Playgroud)

当一个未知数量的 - 可能存在且结束数量可以是任何长度时,我将如何实现这一目标?

Bur*_*lid 28

你快到了.index从左侧rindex选择,并从右侧选择:

>>> s = 'POS--K    100    100    001    -    1462'
>>> s[s.rindex('-')+1:]
'    1462'
Run Code Online (Sandbox Code Playgroud)

  • 好吧,这非常简单,因为大多数东西都在Python :)完美的谢谢你 (2认同)

Bha*_*Rao 7

如果你想要最后一个数字,你可以这样做 -

>>> s = "POS--K    100    100    001    -    1462"
>>> a = s.split('-')[-1]
>>> a
'    1462'
>>> a.strip()
'1462'
Run Code Online (Sandbox Code Playgroud)

或者如评论中提到的Padraic ,您可以使用rsplit

>>> s = "POS--K    100    100    001    -    1462"
>>> a = s.rsplit('-')[1]
>>> a
'    1462'
>>> a.strip()
'1462'
Run Code Online (Sandbox Code Playgroud)

  • `s.rsplit(' - ',1)[1]`会更有效率 (3认同)