如何从字符串中删除除破折号和空格字符外的所有非字母数字字符?
当前回答
将[^a-zA-Z0-9 -]替换为空字符串。
Regex rgx = new Regex("[^a-zA-Z0-9 -]");
str = rgx.Replace(str, "");
其他回答
将[^a-zA-Z0-9 -]替换为空字符串。
Regex rgx = new Regex("[^a-zA-Z0-9 -]");
str = rgx.Replace(str, "");
如果你用JS工作,这里有一个非常简洁的版本
myString = myString.replace(/[^A-Za-z0-9 -]/g, "");
使用系统。Linq
string withOutSpecialCharacters = new string(stringWithSpecialCharacters.Where(c =>char.IsLetterOrDigit(c) || char.IsWhiteSpace(c) || c == '-').ToArray());
正则表达式为[^\w\s\-]*:
使用\s而不是space()更好,因为文本中可能有制表符。
你可以试试:
string s1 = Regex.Replace(s, "[^A-Za-z0-9 -]", "");
s是你的弦。
推荐文章
- 将字符串转换为System.IO.Stream
- 如何从枚举中选择一个随机值?
- 如何检查一行是否为空白使用正则表达式
- RegEx以确保字符串至少包含一个小写字符、大写字符、数字和符号
- 驻留在App_Code中的类不可访问
- 在链式LINQ扩展方法调用中等价于'let'关键字的代码
- dynamic (c# 4)和var之间的区别是什么?
- Visual Studio: ContextSwitchDeadlock
- 返回文件在ASP。Net Core Web API
- 自定义HttpClient请求头
- 如果我使用OWIN Startup.cs类并将所有配置移动到那里,我是否需要一个Global.asax.cs文件?
- VS2013外部构建错误"error MSB4019: The imported project <path> was not found"
- Java Regex捕获组
- 从另一个列表id中排序一个列表
- 等待一个无效的异步方法