从字符串中删除所有特殊字符的最佳方法是什么 - 如下所示:
!@#$%^&*(){} |:?"> <,/;'[]\= -
删除了这些字符的项目会相当短,那么在每个项目上使用REGEX或仅使用字符串操作会更好吗?
谢谢
环境== C#/.NET
拥有白名单通常比黑名单更好.
正则表达式有一个方便\w
,有效地意味着字母数字和下划线(一些变体也添加重音字符(á,é,ô等)到列表,其他人没有).
您可以通过使用\W
表示不是字母数字的所有内容来反转它.
因此,用空字符串替换\W
将删除所有"特殊"字符.
另外,如果你确实需要一个不同的字符集为字符,你可以用一个否定的字符类:[^abc]
会匹配一切,是不是a
还是b
和c
,并[^a-z]
会匹配一切,是不在范围a,b,c,d...x,y,z
相当于\w
是[A-Za-z0-9_]
,因而\W
是[^A-Za-z0-9_]