如何从短划线以外的字符串中删除所有非字母数字字符?如何从字符串和空格字符以外的字符串中删除所有非字母数字字符?
3 回答
繁星点点滴滴
TA贡献1803条经验 获得超3个赞
替换[^a-zA-Z0-9 -]
为空字符串。
Regex rgx = new Regex("[^a-zA-Z0-9 -]");str = rgx.Replace(str, "");
达令说
TA贡献1821条经验 获得超6个赞
我可以使用RegEx,它们可以提供优雅的解决方案,但它们可能会导致性能问题。这是一个解决方案
char[] arr = str.ToCharArray();arr = Array.FindAll<char>(arr, (c => (char.IsLetterOrDigit(c) || char.IsWhiteSpace(c) || c == '-')));str = new string(arr);
使用紧凑框架(没有FindAll)时
将FindAll替换为1
char[] arr = str.Where(c => (char.IsLetterOrDigit(c) || char.IsWhiteSpace(c) || c == '-')).ToArray(); str = new string(arr);
- 3 回答
- 0 关注
- 398 浏览
添加回答
举报
0/150
提交
取消