我想从字符串中删除所有特殊字符,并在该位置只添加一个“ - ”(连字符)。
考虑以下示例
var string = 'Lorem%^$&*&^Ipsum#^is@!^&simply!dummy text.'
所以,从上面的字符串开始,如果有一个连续数量的特殊字符,那么我想删除所有特殊字符并只添加一个“ - ”,或者如果有一个或两个特殊字符,那么也应该被替换通过“ - ”
结果应该是这样的
Lorem-Ipsum-is-simply-dummy text-
我在下面试过,但没有运气
var newString = sourceString.replace(/[\. ,:-]+/g, "-");
答案 0 :(得分:0)
您可以使用.replace
将所有非字母字符子串替换为-
:
const input = 'Lorem%^$&*&^Ipsum#^is@!^&simply!dummy text.';
const output = input.replace(/[^\w\s]+/gi, '-');
console.log(output);

如果您也想允许号码:
const input = 'Lorem123%^$&*&^654Ipsum#^is@!^&simply!dummy text.';
const output = input.replace(/[^\w\s\d]+/gi, '-');
console.log(output);