Javascript 删除除下划线、破折号和数字以外的所有字符和特殊字符
当前在删除字符串中除“25;”、““-”和数字以外的所有字母字符时出现问题。我的字符串如下所示Javascript 删除除下划线、破折号和数字以外的所有字符和特殊字符,javascript,regex,Javascript,Regex,当前在删除字符串中除“25;”、““-”和数字以外的所有字母字符时出现问题。我的字符串如下所示 let str = '/Anna-Charoline_1985-02-14_London/'; 我尝试了以下代码来删除不需要的字符 let formatted = str.replace(/[D&\/\\#,+()$~%.'":*?<>{}]/g, ''); let formatted=str.replace(/[D&\/\\\\\\\\,+()$~%.':*?{}]/g',)
let str = '/Anna-Charoline_1985-02-14_London/';
我尝试了以下代码来删除不需要的字符
let formatted = str.replace(/[D&\/\\#,+()$~%.'":*?<>{}]/g, '');
let formatted=str.replace(/[D&\/\\\\\\\\,+()$~%.':*?{}]/g',);
它不起作用。有人能帮我吗?预期输出是\u 1985-02-14
使用否定字符类更容易:
str.replace(/[^0-9_-]/g, '');
所有不是介于0和9之间的数字、下划线或减号的内容都将替换为空字符串
(第一个
-
在这里表示“范围”,因为它位于其他两个字符之间,第二个仅表示“自身”,因为它位于字符类的末尾。如果它放置在起始或结尾以外的某个位置,则需要对其进行转义,\-
)使用否定字符类会更容易些/[^0-9.-]/g上面所说的+您忘记添加a-zA-Z选择器来删除字母。str.replace(/[a-zA-ZD&\/\\\\\\\\\\\\\\\\\\\\\\\,+()$~%.”:*?{}]/g')