我试图隐藏这个输入文件的内容:
NP_418770.2: 257-296 344-415 503-543 556-592 642-707
YP_026226.4: 741-779 811-890 896-979 1043-1077
Run Code Online (Sandbox Code Playgroud)
对此:
NP_418770.2: 257-296, 344-415, 503-543, 556-592, 642-707
YP_026226.4: 741-779, 811-890, 896-979, 1043-1077
Run Code Online (Sandbox Code Playgroud)
即,用逗号和空格替换空格(不包括换行符)
为此,我尝试过:
perl -pi.bak -e "s/[^\S\n]+/, /g" input.txt
Run Code Online (Sandbox Code Playgroud)
但它给出了:
NP_418770.2:, 257-296, 344-415, 503-543, 556-592, 642-707
YP_026226.4:, 741-779, 811-890, 896-979, 1043-1077
Run Code Online (Sandbox Code Playgroud)
如何在不写另一个正则表达式的情况下停止出现在":"之后出现的额外逗号(我想要":"和单个空格)?
谢谢
Niy*_*wan 10
尝试使用正则表达式负面lookbehind.基本上看,空格前的字符是冒号(:),然后它与该空格不匹配.
s/(?<!:)[^\S\n]+/, /g
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1160 次 |
| 最近记录: |