【问题描述】输入一行字符串,含有数字和非数字字符以及空格等,如:
df23adfd56 2343?23dgjop535
如果将其中所有连续出现的数字视为一个整数,要求统计在该字符串中共有多少个整数,并将这些数依次输出。
【输入文件】从当前目录下的trans.in文件中取得输入。
该文件内只有一行,含有数字和其它任意字符。该行最长含80个字符。
【输出文件】将输出打印到当前目录下的trans.out文件中。
输出文件第一行为字符串包含的整数个数,第二行依次为各个整数,各整数之间用一个空格分隔。在第二行末也要输出一个回车符。
【输入样例】 df23adfd56 2343?23dgjop535
【输出样例】5
23 56 2343 23 535
【样例说明】在字符串df23adfd56 2343?23dgjop535中有5个整数分别是
23 56 2343 23 535
用正则表达式
代码如下:{如果对你有帮助,可以点击我这个回答右上方的【采纳】按钮,给我个采纳吗,谢谢}。
import re
with open(r'trans.in','r', encoding='utf-8') as rf:
s = rf.read()
li = re.findall(r'\d+',s)
with open(r'trans.out','w', encoding='utf-8') as wf:
wf.write(f"{len(li)}\n")
wf.write(" ".join(li)+"\n")
输出的trans.out文件内容
您的问题已经有小伙伴解答了,请点击【采纳】按钮,采纳帮您提供解决思路的答案,给回答的人一些鼓励哦~~
ps:开通问答VIP,享受5次/月 有问必答服务,了解详情↓↓↓
【电脑端】戳>>> https://vip.csdn.net/askvip?utm_source=1146287632
【APP 】 戳>>> https://mall.csdn.net/item/52471?utm_source=1146287632