在文本每一行的行首和行尾都插入特定的相同字符或文本

这个问题也可以说成是如何在长文本每一行的前面和后面都插入特定的相同字符或文本?
例如原始txt文档为:

1
2
3
4
床前明月光,
疑是地上霜。
举头望明月,
低头思故乡。

 

要在每一行的前面和后面都插入特定的相同字符或文本,就要变成如下效果:

1
2
3
4
123abc 床前明月光, 456xyz
123abc 疑是地上霜。 456xyz
123abc 举头望明月, 456xyz
123abc 低头思故乡。 456xyz

 

这个例子只是短了点,可以手动复制粘贴,但如果是长文本又该如何快捷操作?

经过查阅大量资料,有以下几种办法:

办法一:notepa++的列编辑

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

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

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

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

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

办法三:gVIM命令

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

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

 

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

1
:%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函数的使用方法
      1. from: http://jerry011235.github.io/2015/11/19/%E5%9C%A8%E6%96%87%E6%9C%AC%E6%AF%8F%E4%B8%80%E8%A1%8C%E7%9A%84%E8%A1%8C%E9%A6%96%E5%92%8C%E8%A1%8C%E5%B0%BE%E9%83%BD%E6%8F%92%E5%85%A5%E7%89%B9%E5%AE%9A%E7%9A%84%E7%9B%B8%E5%90%8C%E5%AD%97%E7%AC%A6%E6%88%96%E6%96%87%E6%9C%AC/
  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值