第一个问题:我想替换除字母数字和特殊字母之外的所有字符。例如,somestringğüş iöç123456!@#$%^&*()_+
到somestringğüş iöç123456
第二:例如,some---example--long-string
到some-example-long-string
我真的不知道正则表达式,所以我需要2个简单的正则表达式字符串。谢谢你
答案 0 :(得分:3)
/* 1. */ return x.replace(/[!@#$%^&*()_+]/g, '');
/* 2. */ return x.replace(/-{2,}/g, '-');
答案 1 :(得分:3)
首先。它匹配任何非字母数字,空格或非ascii的字符,并用空字符串替换它们。
str.replace(/[^a-z0-9\s\x80-\uFFFF]+/gi, '');
我没有可以使用的unicode类,所以要么包含所有unicode字符,要么列出不是字母,数字和空格的字符。
秒。它匹配任意两个或更多短划线的序列,并用一个短划线替换它们。
str.replace(/-{2,}/g, '-');