所以我实际上从未深入使用过正则表达式。
我有一个由数千行组成的配置文件,如下所示:
“第 1 行”=18341235645
“第 2 行”=123784571
“第 3 行”=86273485
"第 4 行"=362234
...
“第 400 行”=491237850
“第 401 行”=491237850
我想要将这些行替换为例如这样的:
“第 1 行”= 123
“第 2 行”= 124
“第 3 行”= 125
“第 4 行”= 126
...
“第 400 行”= 300
“第 401 行”= 301
ETC。
= 后面的数字是我想要替换的,它们在当前形式下并不重要。
例如,我想将 400 个赞替换为 400-800,然后将另外 400 行替换为 1200-1600,然后将另外 400 行替换为 33000-33400,依此类推。
如何使用 Notepad++ 中的正则表达式完成此任务?
答案1
正则表达式可以很好地查找您想要删除的信息,但无法帮助您替换部分,因为您似乎希望对替换的内容有一些逻辑。
一个简单的脚本语言就可以轻松处理这个问题。
或者,您可以在 Excel 中尝试如下操作:
- 在 Excel 中打开文件
- 突出显示所有数据并选择数据 > 文本分列,然后输入
=
作为分隔符并选择 {none} 作为文本限定符 - 完成此操作后,所有键应位于 A 列中,而所有要删除的数据应位于 B 列中
- 删除 B 列,然后手动输入所需的值。请注意,您可以输入前几行,突出显示,然后只需选择单元格的右下角(当光标变成十字准线时)并单击并拖动即可向下填充。公式也可能有用。
- 在表格的 C 列中输入一个公式
=A1&"="&B1
,并将其填满整个列 - 将 C 列全部复制并粘贴到新文本文件中
答案2
这实际上不是正则表达式类型的问题。您可以使用正则表达式轻松删除 =1234(=\d+$
仅替换为空白),但最好将文本加载到电子表格(Excel 或 OpenOffice)中的单个列中以创建新的编号方案。
在 Excel 中,只需使用行号即可使用如下公式创建数字:
=A1 & "=" & TEXT(ROW(A1),"0")
。
(假设您已将文本粘贴到 A 列并为 B 列设置此公式。)