什么C#regex表达式可用于去除字符串中的点(.)?

Jam*_*mes 3 .net c# asp.net

我需要一个带有非字母数字字符的字符串等,并将其删除; 我使用了以下内容:

wordsstr = Regex.Replace(wordsstr, "[^A-Za-z0-9,-_]", "");
Run Code Online (Sandbox Code Playgroud)

问题是点(.)s留在字符串中但尚未指定保留它们.我怎么能确保点也摆脱了?

非常感谢.

Jon*_*eet 8

指定,他们需要保持-你使用,-_这一切从U + 002C到U + 005F,包括U + 002E(期).

如果你的意思是,-_,以意味着逗号,破折号和下划线,你需要逃跑的破折号,如:

wordsstr = Regex.Replace(input, @"[^A-Za-z0-9,\-_]", "");
Run Code Online (Sandbox Code Playgroud)

或者,(如在Oded的注释中)将短划线作为集合中的第一个或最后一个字符,以防止它被解释为范围说明符:

wordsstr = Regex.Replace(input, "[^A-Za-z0-9,_-]", "");
Run Code Online (Sandbox Code Playgroud)

如果这不是目标,请更具体:"非字母数字字符等"并不是真正的信息.