我有像
这样的字符串"&% , USEFUL DATA ^$^@&#!*, USEFUL DATA *%@^#,,, "
需要像以下一样清理:
"USEFUL DATA ^$^@&#!*, USEFUL DATA"
我们在Javascript中是否有任何标准库函数来执行此操作(我们在python中有它)?
例如:trim(str, "!@#$%^^&*(), ")
答案 0 :(得分:4)
您可以使用:
str = str.replace(/^\W+|\W+$/g, "");
\W
将匹配所有非单词字符。
删除特定字符使用字符类:
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]
是一个否定的字符类,其中^
表示不,然后您可以添加更多要保留的字符/速记类。