赵灵越 2022-11-29 02:29 采纳率: 99.3%
浏览 13
已结题

如何读取txt,从全文中检索包含"好"和"?"的两字,并竖排?

# 读取txt文件
z = input("请输入文件路径:")

# 保留标点符号并竖排
a = input("是否保留标点符号?")

# 请输入你要检索的文字,以空格隔开

c = input("请输入你要检索的文字,以空格隔开")

# 检索"好"和"?" print 打印

'''
好好好???
怎么好上的?
有什么好处吗?
这么攻略他好吗?
 '''
  • 写回答

3条回答 默认 最新

  • 梦幻精灵_cq 2022-11-29 10:38
    关注

    对您有帮助,请点击我的回答左下角
    “采纳该答案”

      用正则,麻烦一点,但有“普适”性。

    文本

    img


    #!/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")
    

    img

    img

    img

    img


    对您有帮助,请点击左边
    “采纳该答案”

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 12月7日
  • 已采纳回答 11月29日
  • 创建了问题 11月29日

悬赏问题

  • ¥15 Pyqt 如何正确的关掉Qthread,并且释放其中的锁?
  • ¥30 网站服务器通过node.js部署了一个项目!前端访问失败
  • ¥15 WPS访问权限不足怎么解决
  • ¥15 java幂等控制问题
  • ¥15 海湾GST-DJ-N500
  • ¥15 氧化掩蔽层与注入条件关系
  • ¥15 Django DRF 如何反序列化得到Python对象类型数据
  • ¥15 多数据源与Hystrix的冲突
  • ¥15 如何在线硕士了解,广告太多,希望有真实接触过的人回答下?(标签-学习|关键词-在线硕士)
  • ¥15 zabbix6.4与frp如何进行联动