我有两个要求,首先,我想用空值替换文本开头和结尾的“ - ”符号。其次,如果有任何连续的“ - ”符号,则应使用单个“ - ”符号替换它们。
如果可能,请以单一模式提供两种要求的代码。
CODE:
//1.)
// replace more than 1 "-" in b
// Expected Output : -asdas-sadf-asdasd-ju
var a = "--asdas-sadf----asdasd---ju";
a = a.replace(/-{2,}/,"");
//alert(a);
//2.)
// remove last "-" and starting "-" from b that is "das-" - after das needs to be removed
// Expected output : welcome/asasdgrd/asd-ast-yret-das/456
var b = "-welcome/asasdgrd/asd-ast-yret-das-/456"
b = b.replace(/[-$]/,"");
//alert(b);
Fiddler Link:
答案 0 :(得分:1)
您需要使用捕获组。
var s = "--asdas-sadf----asdasd---ju";
alert(s.replace(/^-+|-+$|(-)+/gm, "$1"));

答案 1 :(得分:0)
答案 2 :(得分:0)
您可以检查--
的时间,并且可以替换为奇-
var a = "--asdas-sadf----asdasd---ju";
var b= a.split("--").join("-");
var c = b;
var d = c.split("--").join("-");
console.log(d);
或`var res = str.split(/ ^ - + $ |( - )+ /)。join(“”); 的console.log(RES);
`