【问题标题】:replace sub-string in a file using regex with python使用正则表达式替换文件中的子字符串和python
【发布时间】:2020-04-28 09:50:56
【问题描述】:

假设我有一个带有 line
的 file.txt aaaa = /bbb/ccc/ddd/eee/fff

我想用 xxx 代替 ccc

我尝试了next没有成功

import re
import fileinput

for line in fileinput.input(file.txt, inplace=True):
    re.sub(r'(ccc)', 'xxx', line)

【问题讨论】:

  • re.sub('ccc','xxx',aaaa)

标签: python


【解决方案1】:

here 已经提出了几乎相同的问题。 在您的情况下,答案如下所示:

for line in fileinput.input('file.txt', inplace=True):
    print(re.sub(r'(ccc)', 'xxx', line), end='')

请参阅上面的链接以了解替代方案和效率。 (还要注意 file.txt 周围的引号)

简短说明:

  • print()in Python 默认打印带有换行符的行。为防止这种情况发生,需要将end='' 指定为关键字参数。
  • r'(ccc)' 包含一对在您的情况下不需要的组括号,因此您可以简单地编写 r'ccc',正如前两篇文章已经指出的那样。

【讨论】:

    【解决方案2】:

    试试这个:

    
    m = re.sub(r'ccc', r'xxx', "/bbb/ccc/ddd/eee/fff")
    #OUTPUT: /bbb/xxx/ddd/eee/fff
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-17
      • 1970-01-01
      • 2012-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-07
      相关资源
      最近更新 更多