Notepad++:如何在每一行添加内容

510

我正在使用Notepad ++,但是我无法解决以下问题:

我有很多行都以http开头。 我需要在每一行的前面加入一些文本。 此外,我需要在每行末尾添加不同的文本。 每行的结尾都不同。

如何最快地在每一行的开头和结尾添加文本?


2
使用正则表达式进行替换。将“行尾”(我不记得是哪个符号)替换为[myText]“行尾”。 - SJuan76
请访问 http://notepad-plus-plus.org/ 了解如何使用此工具。 - bjan
你想要将相同的文本添加到每一行吗? - Max
Programming相关内容的翻译如下,请仅返回翻译后的文本:每行开头使用相同的文本Programming相关内容的翻译如下,请仅返回翻译后的文本:每行开头使用相同的文本 - johnkol
1
请将以下与编程有关的内容从英语翻译成中文。仅返回翻译后的文本:每行结束后的文本相同。 结束文本与开始文本不同。我已经尝试使用工具,但仍然有困惑,所以才询问。感谢您的任何帮助。 - johnkol
Notepad2-mod CTRL+M 让操作更加轻松。 - Vincent Alex
13个回答

1095

按照以下步骤操作:

  1. 按下Ctrl+H打开查找/替换对话框。
  2. 在对话框底部附近选择 正则表达式 选项。

要在每一行开头添加单词,如test

  1. 在“查找内容”文本框中输入 ^
  2. 在“替换为”文本框中输入 test
  3. 将光标放置于文件的第一行以确保所有行都受到影响。
  4. 点击 全部替换 按钮。

要在每一行结尾添加单词,如test

  1. 在“查找内容”文本框中输入 $
  2. 在“替换为”文本框中输入 test
  3. 将光标放置于文件的第一行以确保所有行都受到影响。
  4. 点击 全部替换按钮。

9
你只能替换6561963行。 - duslabo
17
在创建SQL查询时,我不得不使用反斜杠作为转义字符:'\); - Wietse
非常酷,非常感谢您提供这个。 - Wayne Barron
1
对于那些需要添加特殊字符的人,您需要使用\作为转义字符。 特殊字符:'.'、'+'、'*'、'?'、'^'、'$'、'('、')'、'['、']'、'{'、'}'、'|'、''。 - Amos

167
  1. 将光标移至第一行的开头
  2. 按住 Alt + Shift 并使用光标 向下 键扩展选择到该块的结尾

这样可以同时在每一行上键入文本。

我在这里找到了上述解决方案。

我认为这比使用正则表达式要简单得多。


11
只有在行的开头才能起作用,如果每行长度不同则无法实现。 - Dman
4
我很高兴地发现,我可以使用鼠标拖动而不是使用下键,它还能正常工作。更好的是,我只需向下滚动到我要选择的最后一行,然后按Ctrl+Alt+Shift再点击,它完全符合我的期望。 - Denial
1
说实话,这真的是唯一让我转向Sublime编辑器的原因...这么多年的请求,真是可惜。 - Elysiumplain
有没有办法在不同长度的行的末尾实现这个? - endolith
对于行尾,它的工作方式是相同的。将光标移动到需要在行尾输入的位置。当你按下Shift + Alt并拖动光标向下时,你会看到一条垂直线延伸出来。当你满意停止时,只需松开并输入所需内容。你输入的内容将全部显示在行尾的同一“列”中。如果你希望文本出现在不同的“列”中,即在不同长度的各行结束后的5个空格处,这个技巧就不适用。 - Girl Spider

39

在每一行开头添加单词的Notepad++方法

按照以下步骤使用Notepad++在每一行开头添加任何内容:

打开Notepad++,

按下Cntrl+H打开查找/替换对话框。

现在在查找内容文本框中键入^(不带空格)

替换为文本框中键入任何内容(例如,在我们的示例中我写了“John”),如果要在每一行后添加一个或多个空格,请写入一个或多个空格)

选择正则表达式选项

将光标放置在文件的第一行,以确保所有行都受到影响

单击全部替换按钮

enter image description here

enter image description here

在每行末尾添加文本的Notepad++

按照以下说明使用Notepad++在每行末尾写入任何内容:

打开Notepad++,

Cntrl+H打开查找/替换对话框。

现在在查找内容文本框中键入$(不要输入任何空格)

替换为文本框中键入任何内容(例如,在我们的示例中,我正在写“ John”)(写入一个/多个空格文本以在每行之前添加一个/多个空格)

选择正则表达式选项

将光标放置在文件的第一行,以确保所有行都受到影响

单击全部替换按钮

enter image description here

enter image description here

所有Notepadd++教程:访问:


这似乎与其他答案非常相似。您能否[编辑]它以解释您的答案对该主题提供了哪些新见解。仅重复现有信息的答案并不有用。回答是好的,但我建议您寻找没有被接受的答案或只有少数差(或不完整)答案的问题。请注意,“Notepad ++”只有一个“d”。 - AdrianHHH

32

Notepad++具有非常强大的编辑功能。(今天我在Sublime Text中寻找类似的功能),但是对于Notepad ++,只需在拖动鼠标时按住Alt。然后,您键入的内容将替换每行所选列。要插入而不替换现有文本,请使用Alt-Shift

输入图像描述


3
这应该得到更高的投票。因为与读到“编辑整个列”时可能想的相反,这允许在所有行开头添加文本而不替换任何内容。 - bers
我觉得你在那里犯了一个错误 ;) @JimR Alt + Shift 会覆盖文本,而 Alt 键会插入(至少对我来说是这样)。 - geisterfurz007
1
在Sublime Text中,控制右键可以选择整列,就像你描述的那样。 - Hogan

26

以下是我的回答。要在每一行结尾添加 ');',我使用 '查找内容:$' 和 '替换为:\);' 进行转义; 在这里输入图片描述


21
您可以使用一个正则表达式在Notepad++中实现自动添加文本到每行的开头和/或结尾,只需要在替换(Ctrl+H)中输入一行正则表达式即可:$1 表示所有包含圆括号 (.*) 的字符。
经测试,此方法有效。希望对您有所帮助。
附图:enter image description here

19

好的,我已经很久没有发布过内容了,但这将是最简单的。

  1. 要在所有行的开头/某特定位置添加文本,只需点击那里,然后按ALT+C,就会出现下面的框。输入您的文本,然后单击“确定”,完成。

    输入图像说明

  2. 要在所有行的末尾添加某个文本,请按CTRL+F,并选择“替换”。您将获得下面的框。在“查找内容”中输入“$”,并在“替换为”中输入您的文本。确保在搜索模式(左下方)中选择“正则表达式”。最后单击“全部替换”,完成。

输入图像说明


17

打开 Notepad++,然后点击 Ctrl+F

选择正则表达式。

*查找: "^" (代表每行的索引 - "PREFIX")。

替换为: "任意文本"*。

输入图像描述

对于每一行的后缀: 按照以上步骤进行替换 "^" 为 "$"。就这样。


5
为了一次性完成这个操作:
  1. 复制粘贴以下示例文本到您的Notepad++窗口中:

http:\blahblah.com

http:\blahnotblah.com

http:\blahandgainblah.com

  1. 在Notepad++窗口中按下Ctrl+H
  2. 查找内容框中键入:^(.+)$。这里^表示行的开头,$表示行的结尾。(.+)表示任何位于行首和行尾之间的字符,并且它将成为第1组。
  3. 替换为框中输入:WhateverFrontText(\1)WhatEverEndText。这里的(\1)表示一行中的任何文本。
  4. 选中包裹 around 复选框
  5. 搜索模式:正则表达式
  6. 结果如下:

WhateverFrontTexthttp:\blahblah.comWhatEverEndText

WhateverFrontTexthttp:\blahnotblah.comWhatEverEndText

WhateverFrontTexthttp:\blahandgainblah.comWhatEverEndText

  1. Notepad++选项和结果截图: enter image description here

3
为什么在“替换为”中要将\1放在括号里?此外,最好使用$1,因为\1是一种过时的做法。 - Toto

4

如果您想在每行末尾添加不同的文本,可以使用插件ConyEdit 来实现此操作。
在后台运行ConyEdit时,请按照以下步骤进行操作。

  1. 使用命令行cc.gl a获取行并存储在名为a的数组中。
  2. 使用命令行cc.aal //$a在每行末尾添加内容,使用数组a中的内容。

示例
enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接