我需要在减号之前的空格/无空格/逗号替换\-
减去\,+-
逗号+减号。在SVG路径中,我发现了这个:
`201.86-38.778`
我需要做到
`201.86,-38.778`.
我尝试了str.replace(/-/g,'\,-')
,但这会在不需要时创建额外的逗号。
更新,我还需要这样工作:
`201.86 -38.778` // notice the space
使其成为
`201.86,-38.778`.
答案 0 :(得分:2)
使用([-+])
查找并替换为,\1
。 的 Regex101 Demo 强>
答案 1 :(得分:1)
您可以使用
/(^|[^,\s])-/g
请参阅regex demo
故障:
(^|[^,\s])
- 匹配并捕获字符串的开头或逗号或空格以外的字符(将在替换模式中使用$1
反向引用引用)-
- 字面连字符。在替换模式中,使用$1,-
,对捕获的文本+逗号和连字符进行反向引用。
演示:
var re = /(^|[^,\s])-/g;
var str = '201.86-38.778';
var result = str.replace(re, '$1,-');
document.body.innerHTML = result;