我有一个包含以下记录的文件:
1 "The number one" 0.1 111 "one" .1 "uno" "UNO!" "#ONE"
2 "El numero dos" 2.0 222 "The number two" 2.02 "two" "TWO!" "#DOS"
我需要用逗号替换数字和字符串之间的空格,以便将此文件作为结果:
1,"The number one",0.1,111,"one",.1,"uno","UNO!","#ONE"
2,"El numero dos",2.0,222,"The number two",2.02,"two","TWO!","#DOS"
我创建了一个相反的正则表达式,它获取了数字和字符串:
(?:\"[ !\x23-\xFF]*\"|[\d.])
如何反转正则表达式的结果?你能帮我创建一个能完全符合我需要的正则表达式吗?
更新1
该文件可能包含字符串中的特殊字符,字符串和数字的顺序(可以是十进制)是可变的。
答案 0 :(得分:0)
在Notepad ++中,以下工作原理:
<强>查找强>
("|\d)\s("|\d)
<强>替换强>
$1,$2
答案 1 :(得分:0)
试试这个:
(?:\.|\d)(\s)\"|\"(\s)(?:\.|\d)
将第1组和第2组替换为,
演示:https://regex101.com/r/H3dFFa/2
这个正则表达式似乎也抓住了空间:
[\.\d"](\s)[\.\d"]?
仅替换第1组