如何从字符串中删除除破折号和空格字符之外的所有非字母数字字符?
网友回答:
我本可以使用正则表达式,它们可以提供优雅的解决方案,但它们可能会导致性能问题。这是一个解决方案
char[] arr = str.ToCharArray();
arr = Array.FindAll<char>(arr, (c => (char.IsLetterOrDigit(c)
|| char.IsWhiteSpace(c)
|| c == '-')));
str = new string(arr);
使用紧凑框架(没有 FindAll)时
将“查找全部”替换为1
char[] arr = str.Where(c => (char.IsLetterOrDigit(c) ||
char.IsWhiteSpace(c) ||
c == '-')).ToArray();
str = new string(arr);
1 肖恩羽毛的评论
网友回答:
替换为空字符串。[^a-zA-Z0-9 -]
Regex rgx = new Regex("[^a-zA-Z0-9 -]");
str = rgx.Replace(str, "");
网友回答:
您可以尝试:
string s1 = Regex.Replace(s, "[^A-Za-z0-9 -]", "");
你的字符串在哪里。s
模板简介:该模板名称为【如何从字符串中删除除破折号以外的所有非字母数字字符?】,大小是暂无信息,文档格式为.编程语言,推荐使用Sublime/Dreamweaver/HBuilder打开,作品中的图片,文字等数据均可修改,图片请在作品中选中图片替换即可,文字修改直接点击文字修改即可,您也可以新增或修改作品中的内容,该模板来自用户分享,如有侵权行为请联系网站客服处理。欢迎来懒人模板【C#】栏目查找您需要的精美模板。