获取最后一个字符出现后的所有内容 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 解决方案将不起作用,因为那时返回的数组中将只有一个元素。
我在其他语言中看到过这个问题,但找不到 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 解决方案将不起作用,因为那时返回的数组中将只有一个元素。