在长文本每一行的前面和后面都插入特定的相同字符或文本

来源:https://www.zhihu.com/question/37708379

 

作者:璀璨星空
链接:https://www.zhihu.com/question/37708379/answer/73173975
来源:知乎
著作权归作者所有,转载请联系作者获得授权。

经过查阅一些资料,我找到了四种解决办法,并在我的博客上写了一篇总结:在文本每一行的行首和行尾都插入特定的相同字符或文本,现转载如下:
办法一:notepa++的列编辑

先说在每行行首插入相同文本的办法。首先把原始文本粘贴到notepa++里,然后事先复制好你要重复输入的字符123abc,然后把光标移到第一行第一列,也就是“床”的前面,然后按住ALT键,鼠标从第一行直接拉到最末行,然后就看到光标变长了,最后直接ctrl+v粘贴即可。
然后把光标移到第一行的末尾,就可以用列编辑在每行行尾插入重复文本了。

办法二: notepa++正则表达式替换

把原始文本粘贴到notepa++里后,搜索,替换,查找目标里输入^,替换为里输入123abc,注意:下方的查找模式里要选择“正则表达式”,最后点击“全部替换”就能看到效果了。

行尾操作也类似,查找目标里输入$,替换为里输入456xyz即可。

^匹配行首,而$匹配行尾。

办法三:gVIM命令

如果你使用vim,那么下面的命令可以让你在每行快速插入重复字符。
每行的行首都添加自定义的文本或字符串:

:%s/^/要插入的字符串

每行的行尾都自定义的文本或字符串

:%s/$/要插入的字符串

例如要在每行行尾输入456xyz,可以先打冒号,然后直接ctrl+v或者用手势粘贴%s/$/456xyz即可。

另一个在每行行首插入相同字符的办法,这是在国外网站上发现的:
先调光标到第一行的行首,然后按Ctrl+Q选择列,然后按j选择多列,然后按Shift+i,然后输入你要像插入的字符串,最后按Esc就OK了。

办法四:excel的CONCATENATE函数

先复制原始txt文档,然后新建一个excel,在B1单元格右键,粘贴,然后在A1中输入123abc,下拉复制;同样在C1中输入456xyz,下拉复制。然后在D1中输入=CONCATENATE(A1,B1,C1),回车即可把A1B1C1连起来,最后下拉就完成了。
其中=CONCATENATE(A1,B1,C1)命令等同于=A1&B1&C1,当元素少的时候,使用&比较简便。


参考:

  1. Notepad++的列编辑功能
  2. vim 每行行首或行行尾插入相同字符串
  3. How do I insert text at beginning of a multi-line selection in vi/Vim?
  4. Excel中concatenate函数的使用方法
posted @ 2017-02-13 17:14  一个勤奋的胖子  阅读(1225)  评论(0编辑  收藏  举报