【发布时间】:2018-03-20 05:20:34
【问题描述】:
我有一个文本文件,C:\text\sample.txt。如何搜索此文本文件,并对给定字符串的所有实例进行编号(使用正则表达式),例如,以“h”开头并以“h”结尾的单词“你”?
sample.txt 的样子:(对于这个示例文件,我使用的正则表达式是 \bh.+y\b,它将匹配快乐和历史。)
When a happy new history ...
Are you happy ...
How history ... very happy ...
...
我希望达到的编号效果:
When a 1>happy new 2>history ...
Are you 3>happy ...
How 4>history ... very 5>happy ...
...
我是 python 编程的新手。如何使用 python 代码实现这一点?
目前,我只想出了以下代码:
import fileinput
import re
for line in fileinput.input('sample.txt',inplace=1):
line = re.sub(r'\bh.+y\b',r'\bh.+y\b', line.rstrip())
【问题讨论】:
-
您在哪方面需要帮助?正则表达式,文件的打开,搜索和替换?您是否尝试过一些不起作用的方法?
-
我知道如何打开文件,如何搜索,用正则表达式替换某些字符串。但我不知道如何自动为所有数学字符串编号。
-
只需在文件读写循环之外将一个变量设置为 0,并在找到匹配项时将其递增。然后将此计数器的值添加到正在写回的字。如果您使用到目前为止的内容编辑问题,则更容易推荐确切的修复方法。
-
Ty .. 我已经编辑了问题。
-
他们的方法更简单吗?我是编程新手。我只是希望找到一种方法来对文本文件中“某个字符串”的所有出现进行编号。我希望找到某个字符串的方法是使用正则表达式。实际上,任何解决方案都是好的,只要它能完成工作。
标签: python regex python-2.7