如何在一组不同的数字后替换一个字符

时间:2016-09-19 09:38:12

标签: regex replace notepad++ git-bash wc

我一直试图解决这个问题。

问题示例:

 4946990 stuffandthings.sql.gz
 5005868 Hello there.txt
 1033557 This is an issue.txt
  303500 That_I need help fixing.txt
 8737976 Please help.txt
99737976 Thanks.txt

我正在尝试做什么:

 4946990     stuffandthings.sql.gz
 5005868     Hello there.txt
 1033557     This is an issue.txt
  303500     That_I need help fixing.txt
 8737976     Please help.txt
99737976     Thanks.txt

和/或这:

 4946990 | stuffandthings.sql.gz
 5005868 | Hello there.txt
 1033557 | This is an issue.txt
  303500 | That_I need help fixing.txt
 8737976 | Please help.txt
99737976 | Thanks.txt

基本上我正在尝试用一组不同的数字替换第一个字符。

我从GitBash命令中获取了这个“数组”或“列表”,“wc -l”(它打印文本文件中的行号数量,以及旁边的文本文件名)。所以,无论如何,我可以使用正则表达式来完成我想要它做的事情,或者如果有一个我在GitBash中没有看到的命令可以帮助做到这一点。任何帮助将不胜感激,谢谢。

2 个答案:

答案 0 :(得分:1)

查找

([0-9])[ ]([a-zA-Z])

替换:

\1 | \2

或:

\1     \2

答案 1 :(得分:0)

一种方法是使用以下表达式

^(\d+)([ ]+)(.+)$
# look for digits at the beginning of the line -> group 1
# followed by whitespaces                      -> group 2
# and the rest                                 -> group 3

并将字符串替换为$1 your_replacement_here $3,请参阅a demo on regex101.com(请注意修饰符,尤其是m!)。
顺便说一句,+1这样可爱的昵称......