可以使用正则表达式来匹配字符串中的数字子串,然后找出最长的子串即可。具体实现如下:
import re
def find_longest_num_substr(s):
num_list = re.findall(r'\d+', s) # 匹配字符串中的数字子串
if not num_list: # 如果没有匹配到数字子串,则返回空字符串
return ""
return max(num_list, key=len) # 找出最长的数字子串并返回
# 测试
s = "hello 12345 world 6789"
print(find_longest_num_substr(s)) # 输出结果为:12345
代码中,使用re.findall
函数来匹配字符串s
中的数字子串,将匹配到的所有数字子串放在一个列表中。然后,使用max
函数和key
参数来找出最长的数字子串,并返回。如果没有匹配到数字子串,则返回空字符串。