将多个连续的连字符替换为一个



这在Javascript中可能吗?

我有这个从Java,但不能在Javascript中使用。

s/-{2,}/-/g

还有别的办法吗?

是的。你可以对Javascript的replace()方法使用相同的正则表达式。

s.replace(find, replacement)
// where 's' is your string object

的例子:

var r = 'foo--bar---baz'.replace(/-{2,}/g, '-');
console.log(r); // "foo-bar-baz"

你可以这样做:

var newStr = "hi--this is----good".replace(/-+/g,'-'); // hi-this is-good

-+匹配多个-并用单个-代替它们

你的正则表达式也是有效的。除非你不能使用s修饰符

query.trim().replace(/ss+/g, '-').replace(/[s.;,?%]/, '-')

相关内容

最新更新