0

真正的快速问题,我无法解决。

我在许多目录中有一堆文本文件。在这些目录中有名为 init.txt 的文本文件

在这些许多文本文件中,有很多行

Effective = 

我需要做的是将包含该字符串的任何行替换为另一个字符串,最好是在 Notepad++ 中,或者如果需要的话,使用 UltraEdit。

在 Notepad++ 中,iv 找到了 Search -> Replace in Files... 这让我可以指定一个起始目录,但我无法用我的新行替换整行。

我以前从未使用过正则表达式(如果这是最好的方法),因为 iv 从来不需要,所以非常感谢任何帮助。

谢谢你帮助我。

4

2 回答 2

2

对于您的问题,垃圾正则表达式可能会有很大帮助。我几乎每天都在 Notepad++ 中使用正则表达式搜索,它真的很有用。

我不想用一些复杂的正则表达式来吓唬你。相反,我希望在阅读了我的回答后,您可能会发现正则表达式的基础知识并不那么奇特,它适合普通人的日常使用。

请遵循以下说明:

  1. 在 Notepad++ 中按Ctrl-F,并切换到Find in Files选项卡,Serach mode部分(它位于对话框的底部),选择Regular expression

  2. 在该Find what字段中,您需要在此处输入的内容可能会根据您要替换的文本的特定模式而有所不同。

    如果您要替换的文本片段总是

    • 出现在一行的开头,
    • 正文前没有前导空格,
    • 它在字符之前只包含一个空格=字符

    ^Effective =应该用作Find what字段中的模式。

    中的^符号^Effective =表示匹配行首(所以如果Effectiv =出现在行的中间,会被忽略),剩下的就是要匹配的确切单词。

    但是,如果上述条件不完全满足,例如

    • 文本段可能包含前导空白,
    • 单词Effective=符号之间的空格数可能会有所不同,从一个到无限

    在这种情况下,您可能需要使用^Effective\s+=.

    中的\s+部分^Effective\s+=匹配一个到无限数量的空格(包括空格 \0x20、制表符 \t、回车符 \r 和换行符 \n)

    如果您想将零匹配到 and 之间的无限空格Effective=您可以替换\s+\s*

  3. Rplace with字段中,输入changeLine

  4. filters字段中,选择您要搜索的文件类型

  5. 查看In all sub-folders

  6. 点击Replace in Files按钮

于 2013-06-25T03:08:17.650 回答
0

在 Notepad++ 中设置搜索模式

Find: Effective = 
Replace with: changeLine 
Search Mode: Extended (\n, \t, etc)

来自:https ://superuser.com/questions/34451/notepad-find-and-replace-string-with-a-new-line

于 2013-06-15T19:03:17.183 回答