我想从字符串中删除所有特殊符号,并且字符串中只有单词
main() {
String s = "Hello, world! i am 'foo'";
print(s.replaceAll(new RegExp('\W+'),''));
}
输出:Hello, world! i am 'foo'
预期:Hello world i am foo
我想从字符串中删除所有特殊符号,并且字符串中只有单词
main() {
String s = "Hello, world! i am 'foo'";
print(s.replaceAll(new RegExp('\W+'),''));
}
输出:Hello, world! i am 'foo'
预期:Hello world i am foo
The docs for the RegExp class声明,如果以这种方式构造正则表达式,应该使用raw个字符串(字符串文字前缀为r
,比如r"Hello world"
).这在你使用逃逸的地方尤为必要.
此外,您的正则表达式也将捕获空格,因此需要对其进行修改.可以改为使用RegExp(r"[^\s\w]")
,它匹配任何非空白字符或单词字符的字符