题目描述
输入一个字符串,返回其最长的数字子串,以及其长度。若有多个最长的数字子串,则将它们全部输出(按原字符串的相对位置)
本题含有多组样例输入。
输入描述:
输入一个字符串。
输出描述:
输出字符串中最长的数字字符串和它的长度,中间用逗号间隔。如果有相同长度的串,则要一块儿输出(中间不要输出空格)。
示例1
输入
abcd12345ed125ss123058789
a8a72a6a5yy98y65ee1r2
输出
123058789,9
729865,2
代码实现:
import re
def func():
while True:
try:
str1 = input()
value = re.findall(r'\d+',str1)
#print(value)
if value !=[]:
max_list = []
max_str = ""
for i in value:
if len(max_str)<len(i):
max_list = []
max_str=i
max_list.append(i)
elif len(max_str)==len(i):
max_list.append(i)
print("".join(max_list)+","+str(len(max_str)))
except Exception as e:
#print(e)
break
if __name__ == '__main__':
func()