Javascript 中的正则表达式:当满足条件时,将减号替换为逗号+减号

Regexp in Javascript: replace minus with comma+minus when condition is met

本文关键字:替换 减号 正则表达式 条件 满足 Javascript      更新时间:2023-09-26

我需要将'-减号替换为逗号+减号',+-当空格/无空格/逗号在减号之前。在 SVG 路径中,我发现了这个:

`201.86-38.778` 

我需要做到

`201.86,-38.778`.

我尝试了str.replace(/-/g,'',-')但这会在不需要时创建额外的逗号。

更新,我还需要这样工作:

`201.86 -38.778` // notice the space

要做到

`201.86,-38.778`.
您可以使用

/(^|[^,'s])-/g

查看正则表达式演示

故障:

  • (^|[^,'s]) - 匹配并捕获字符串或逗号或空格以外的字符的开头(将使用替换模式中的$1反向引用引用)
  • - - 文字连字符。

在替换模式中,使用 $1,- 、对捕获的文本 + 逗号和连字符的反向引用。

演示:

var re = /(^|[^,'s])-/g; 
var str = '201.86-38.778';
var result = str.replace(re, '$1,-');
document.body.innerHTML = result;

([-+]) 查找并替换为 ,'1正则表达式 101 演示