【问题描述】
本题目要求读入一个字符串,输出字符串的最长数字子串。
【输入形式】
输入一个字符串
【输出形式】
输出最长数字子串,若有多个最长数字子串输出最后一个,若字符串无数字字符,则输出“No digits”。
【输入样例】
sdffsd123werrer456fgdgdg1dfgdf12
【样例输出】
456
import re
s = input("输入一个字符串:")
ls = re.findall(r"\d+", s)
if ls:
ss = ls[0]
for i in ls:
if len(i) >= len(ss):
ss = i
print(ss)
else:
print("No digits")
用正则很简单
import re
input_str="sdffsd123werrer456fgdgdg1d"
num_list=re.findall("\d+",input_str)
max_len=0
max_len_num=""
for num in num_list:
if len(num) >= max_len:
max_len_num=num
max_len=len(num)
if max_len_num=="":
print("no digit")
else:
print(max_len_num)