# 读取txt文件
z = input("请输入文件路径:")
# 保留标点符号并竖排
a = input("是否保留标点符号?")
# 请输入你要检索的文字,以空格隔开
c = input("请输入你要检索的文字,以空格隔开")
# 检索"好"和"?" print 打印
'''
好好好???
怎么好上的?
有什么好处吗?
这么攻略他好吗?
'''

如何读取txt,从全文中检索包含"好"和"?"的两字,并竖排?
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- 梦幻精灵_cq 2022-11-29 10:38关注
对您有帮助,请点击我的回答左下角
“采纳该答案”
用正则,麻烦一点,但有“普适”性。
文本
#!/usr/bin/nve python # coding: utf-8 import re # 读取txt文件 filename = input("\n输入文件路径&文件名:").strip() #filename = '/sdcard/Documents/test.txt' with open(filename) as f: text = f.read() # 保留标点符号并竖排 flag = input("\n是否保留标点符号?(N/n)").strip() # 请输入你要检索的文字,以空格隔开 s = input("\n输入检索的字符(如“好 ?”):").split() s = '\w*'.join(s) find_char = f"\w*{s}+\w*" # 检索"好"和"?" print 打印 if flag in ('n', 'N'): result = '\n'.join(map(lambda x: re.sub('\W', '', x), re.findall(find_char, text))) else: result = '\n'.join(re.findall(find_char, text)) print(f"\n{' re检索字符串 ':~^45}") print(f"\nre匹配表达式:{find_char}\n{'~'*50}\n输出:\n\n{result}\n\n{'':~^50}\n")
对您有帮助,请点击左边
“采纳该答案”本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用