替换文本行Notepad ++或UltraEdit

时间:2013-06-15 11:41:01

标签: replace notepad++ ultraedit

这里真正的问题是我无法解决问题。

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

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

开头
Effective = 

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

在Notepad ++中,iv找到了搜索 - >替换文件...这让我指定一个起始目录,但我不能用我的新行替换整行。

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

感谢您帮助我。

2 个答案:

答案 0 :(得分:2)

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

我不想用一些复杂的正则表达式语法来表达你。相反,我希望在阅读完答案之后,您可能会发现正则表达的基础知识并非如此具有异国情调,而且适合普通人日常使用。

请按照以下说明操作:

  1. 在Notepad ++中按Ctrl-F,然后在Find in Files部分(位于对话框底部)切换到Serach mode标签,选择Regular expression

  2. Find what字段中,您需要输入的内容可能会根据您要替换的文字的具体模式而有所不同。

    如果要替换的文本片段始终

    • 在一行的开头显示
    • 文字前没有领先的白色文字,
    • 它在=字符
    • 之前完全包含一个SPCACE CHARACTER

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

    ^中的^Effective =符号表示匹配行的开头(因此如果Effectiv =出现在行的中间,则会被忽略),其余的就是确切的要匹配的词。

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

    • 文本段可能包含领先的白色,
    • 单词Effective=符号之间的空格数可能会有所不同,从一到

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

    \s+中的^Effective\s+=部分匹配一个到无限数量的空格(包括space \ 0x20,tabs \ t,carrige-return \ r \ n和new-line \ n)

    如果您希望在Effective=之间匹配零到无限制的空格,则可以将\s+替换为\s*

  3. Rplace with字段中,输入changeLine

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

  5. 检查In all sub-folders

  6. 点击Replace in Files按钮

答案 1 :(得分: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