Javascript删除字符串中的所有前导和尾随垃圾字符

时间:2015-08-19 08:44:08

标签: javascript regex

我有像

这样的字符串
"&% , USEFUL DATA ^$^@&#!*, USEFUL DATA *%@^#,,,   "

需要像以下一样清理:

"USEFUL DATA   ^$^@&#!*,  USEFUL DATA"

我们在Javascript中是否有任何标准库函数来执行此操作(我们在python中有它)?

例如:trim(str, "!@#$%^^&*(), ")

2 个答案:

答案 0 :(得分:4)

您可以使用:

str = str.replace(/^\W+|\W+$/g, "");

\W将匹配所有非单词字符。

RegEx Demo

删除特定字符使用字符类:

str = str.replace(/^[@#$%^&*(), ]+|[@#$%^&*(), ]+$/g, "");

答案 1 :(得分:1)

您可以使用正则表达式replace

var s = "&% , USEFUL DATA ^$^@&#!*, USEFUL DATA *%@^#,,, ";
document.write(s.replace(/^\W+|\W+$/g, '') + "<br/>");
// or
document.write(s.replace(/^[^\w]+|[^\w]+$/g, ''));

模式^\W+|\W+$将从字符串的开头和结尾删除所有“特殊”字符。请注意,\W匹配[A-Za-z0-9_]类中不包含的每个字符,\w匹配这些字符。 [^\w]是一个否定的字符类,其中^表示,然后您可以添加更多要保留的字符/速记类。