【问题标题】:Using RegEX To Prefix And Append In Notepad++在 Notepad++ 中使用 RegEX 前缀和追加
【发布时间】:2008-11-12 10:59:25
【问题描述】:

我在一个 txt 文件中有相当多的单词列表,我正在尝试在 Notepad++ 中进行正则表达式查找和替换。我需要在每行之前和之后添加一个字符串。这样:

文字 词二 词三

成为

能够:“wordone” 能够:“wordtwo” 能够:“wordthree”

我该怎么做?

【问题讨论】:

  • 抱歉,这些字串是分开的!我敢打赌这让事情变得混乱了......
  • sweet 帮我省了很多谷歌搜索 :)

标签: regex notepad++


【解决方案1】:

假设字母数字词,您可以使用:

Search  = ^([A-Za-z0-9]+)$
Replace = able:"\1"

或者,如果您只想突出显示这些行并使用“全部替换”和“在选择中”(使用相同的替换):

Search = ^(.+)$

^ 指向行首。
$ 指向行尾。

\1 将是括号内的源匹配项。

【讨论】:

  • 谢谢你,经过大约 30 分钟的搜索,我成功到达这里 :)
  • Reg 表达式是救命稻草。感谢您的帮助。
  • 出色的工作 +1 解释
  • 哇!这正是我所需要的。
  • 在最新的 N++ 中,^([A-Za-z0-9]+)$ 没有返回匹配项,但 ^(.+)$ 在所有情况下都有效。谢谢!
【解决方案2】:

为什么不使用 Notepad++ 多行编辑功能?

在选择文本时按住 Alt(使用通常的单击和拖动方法)以跨多行选择文本。这有时也称为列编辑。

您可以将光标放在文件的开头,按住(并按住)Alt、Shift,然后按住向下箭头或 PageDown 来选择要添加一些文本的行 :-) 简单.多行编辑是 Notepad++ 的一个非常有用的功能。在 Visual Studio 中也可以使用相同的方式,在 Eclipse 中也可以通过按 Alt+Shift+A 切换到块选择模式,然后使用鼠标跨行选择文本。

【讨论】:

  • +1 这真的很棒,我不知道你能做到这一点。当每行的长度不同时,是否可以在每行的末尾附加一些东西?例如,当“列”宽度变化时,如果您可以将文本附加到每一行,那就太好了。我有一个函数列表,我需要附加“();”到每一行,但每个函数名称的宽度不同。我目前正在使用宏来执行此操作,谢谢!
  • 对于追加可能最好使用“扩展”搜索模式使用简单的查找/替换。您可以搜索行尾,例如\r\n 并将其替换为 <whatever you want to append>\r\n
  • 这实际上是一个非常棒的解决方案,尤其是上面的 APPEND 评论。
  • 这对于添加前缀很有用,但如果您想添加混合长度行的后缀(附加在末尾),则不是很有用。我希望 Notepad++ 有一个内置的“修改行”命令,就像在 Notepad2 中一样,它允许您选择行,按 Alt+M,并在每行之前和/或之后添加文本。
【解决方案3】:

可以使用的正则表达式:

Find: \w.+
Replace: able:"$&"

因为,$& 会给你你搜索的字符串。

参考:regexr

【讨论】:

  • 非常感谢$&\1 并不适用于所有环境。
  • 关于$& 的好答案。它也适用于 SublimeText。
  • 关于 $& 的好答案。它也适用于 VS 代码。
  • 关于$& 的好答案。如果你像 $1 这样写的话,它也可以在 PHPStorm 中工作。
【解决方案4】:

使用宏。

宏>开始录制

使用键盘以可重复的方式进行更改,例如

home>输入“able”>end>向下箭头>home

然后返回菜单并单击停止录制,然后多次运行宏。

应该这样做,并且没有基于正则表达式的并发症!

【讨论】:

  • “并发症”应该是什么意思? :-)
  • +1 方便使用!我需要在文件的每一行末尾附加一个“制表符”,这个技巧就可以了。
【解决方案5】:

在 Visual Studio 代码中,我发现简单的正则表达式就像 ^ 一样有效。

【讨论】:

  • 这如何回答有关 Notepad++ 的问题?
  • @Toto 好吧,我个人并没有用谷歌搜索记事本的答案
猜你喜欢
  • 2011-10-23
  • 1970-01-01
  • 2018-01-06
  • 2020-06-21
  • 2019-11-26
  • 1970-01-01
  • 2014-08-26
  • 2015-11-14
  • 1970-01-01
相关资源
最近更新 更多