关于在以下之后提取子字符串:在Python之后提取子字符串

Extracting a substring just after - in Python

本问题已经有最佳答案,请猛点这里访问。

我有一组这样的字符串:

1
2
3
4
span-aud-result-nhd34-124
span-aud-result-jsh43-125
span-aud-result-i843-127
span-aud-result-mj43-126

我想提取后面的结束子字符串-

例如:

1
2
3
4
124
125
127
126

问题是像nhd34, jsh43, i843这样的子串是动态的。那么如何提取后面的结束子字符串-

谢谢。


使用split()拆分-上的字符串并访问列表的最后一个元素:

1
2
3
x ="span-aud-result-nhd34-124"

print(x.split("-")[-1])

输出:

1
124

说明:

split将返回:

1
["span","aud","result","nhd34","124"]

-1表示数组的最后一个索引


另一种方法是找到字符串中最后出现的"-"字符,然后根据该索引对初始字符串进行子集:

1
2
3
4
>>> s = 'span-aud-result-nhd34-124span-aud-result-nhd34-124'

>>> s[(s.rfind('-') + 1):]
'124'