检查Python中字符串以什么数字结束



例如"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+$'字符串指定要匹配的表达式,由以下特殊符号组成:

  • d:数字(0-9)
  • +:前一项(即d)中的一项或多项
  • $:输入字符串的结束

换句话说,它试图在字符串的末尾找到一个或多个数字。search()函数返回一个Match对象,其中包含有关匹配的各种信息,如果不能匹配请求的内容,则返回None。例如,group()方法返回匹配正则表达式的整个子字符串(在本例中是一些数字)。

最后一行的三进制if返回匹配的数字转换为数字或None,具体取决于Match对象是否为None。

我会使用正则表达式,比如/(d+)$/。这将匹配并捕获一个或多个固定在字符串末尾的数字。

阅读Python中的正则表达式

哎呀,更正一下(对不起,我没抓住重点)

你应该这样做;)

导入RE模块

import re

然后写一个正则表达式,"搜索"一个表达式。

s = re.search("[a-zA-Z+](d{3})$", "string123")

如果匹配则返回"123",如果不匹配则返回NoneType。

s.group(0)

最新更新