楼主: 落叶无雨
2245 4

TXT文本: 查找替换同义词(跨行) [推广有奖]

已卖:21份资源

教授

4%

还不是VIP/贵宾

-

威望
0
论坛币
9 个
通用积分
118.4230
学术水平
72 点
热心指数
85 点
信用等级
63 点
经验
7505 点
帖子
423
精华
1
在线时间
1539 小时
注册时间
2011-10-22
最后登录
2025-12-19

楼主
落叶无雨 学生认证  发表于 2020-7-4 12:08:15 |AI写论文
200论坛币

一、目标



     TXT文档中查找目标单词(跨行/非跨行),替换为指定单词,并按照原有格式写入TXT文档;

二、示例

     以 Environmental Regulaiton Policy 为例,目标单词 Environmental Regulaiton Policy 在 TXT 文档中可能存在以下形式, 如何将 Environmental Regulaiton  Policy 单词统一替换为 AAA BBB CCC,并按照原格式是写入TXT文档。

    微信截图_20200704152133.png


数据: demo.txt (1.48 KB)



      借助 python 如何实现呢,是否可以用正则表达式?

      盼望解答,感谢关注!







最佳答案

关键词:txt 同义词 environment Mental Policy

沙发
andruw 在职认证  发表于 2020-7-4 12:08:16
  1. import re

  2. with open('demo.txt', 'r') as f:
  3.     file = f.read()    #读取文件
  4.     pattern = re.compile(r'Environmental\s+Regulation\s+Policy') #正则表达式标示出所有可能组合
  5.     pattern_list = list(set(re.findall(pattern, file))) #找到所有pattern
  6.     replace_list = [] #生成替换pattern
  7.     for p in pattern_list:
  8.         p = p.replace("Environmental", "AAA")
  9.         p = p.replace("Regulation", "BBB")
  10.         p = p.replace("Policy", "CCC")
  11.         replace_list.append(p)

  12.     for (p, r) in zip(pattern_list, replace_list):
  13.         file = file.replace(p, r) #新pattern替换旧pattern

  14.     with open('done.txt', 'w') as f1:  #写入新文件
  15.         f1.writelines(file)
复制代码

藤椅
幸运符 发表于 2020-7-7 00:55:32
用正则表达式就可以了。
import re

str1 = 'Environmental Regulaiton Policy 为例,目标单词 Environmental Regulaiton Policy 。。。。。 '
p1 = 'Environmental Regulaiton Policy'
p2 = 'AAA BBB CCC'
str1 = re.sub(p1,p2,str1)
#依此类推改循环。
已有 1 人评分经验 收起 理由
yunnandlg + 60 精彩帖子

总评分: 经验 + 60   查看全部评分

板凳
落叶无雨 学生认证  发表于 2020-7-14 20:47:19
幸运符 发表于 2020-7-7 00:55
用正则表达式就可以了。
import re
谢谢你的回复,跨行的单词如何处理呢?

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-28 17:37