例如“example123”为123,“ex123ample”为None,“123example”为None。
最佳答案
您可以使用 re
中的正则表达式模块:
import re
def get_trailing_number(s):
m = re.search(r'\d+$', s)
return int(m.group()) if m else None
r'\d+$'
字符串指定要匹配的表达式,由这些special symbols组成:
\d
:一个数字(0-9)+
:前一项或多项(即\d
)$
:输入字符串的结尾
换句话说,它试图在字符串的末尾找到一个或多个数字。 search()
函数返回一个 Match
对象,其中包含有关匹配的各种信息,如果无法匹配所请求的内容,则返回 None
。例如,group()
方法返回与正则表达式匹配的整个子字符串(在本例中为一些数字)。
最后一行的三元 if
返回转换为数字的匹配数字或 None,具体取决于 Match 对象是否为 None。
关于python - 检查字符串在 Python 中以什么数字结尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7085512/