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

get everything after last character occurrence python

我在其他语言中看到过这个问题,但找不到 Python,也许它有一个我不知道的特定名称。我想在最后一次出现“-”字符后拆分一行,我的字符串如下所示:

POS--K    100    100    001    -    1462

我想从最后一个 - 之后的字符串中取出最后一个数字,在本例中为 1462。我不知道如何实现这一点,要在只有一个这样的字符时实现这一点,我会使用以下内容:

last_number = last_number[last_number.index('-')+1:]

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

你快到了。 index从左边选择,rindex从右边选择:

>>> s = 'POS--K    100    100    001    -    1462'
>>> s[s.rindex('-')+1:]
'    1462'

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

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

或者如 Padraic 在 中提到的那样,您可以使用 rsplit

>>> s = "POS--K    100    100    001    -    1462"
>>> a = s.rsplit('-',1)[1]
>>> a
'    1462'
>>> a.strip()
'1462'

然而,如果没有出现该字符,则 rsplit 解决方案将不起作用,因为那时返回的数组中将只有一个元素。