我正在尝试从字符串中提取字符。我希望[a-z or A-Z or 0-9 or . or _]
所有其他字符都应该从字符串中删除。
有一个可以替换字符的正则表达式,但我想要另一种方式,我想要一个正则表达式或任何其他只允许[a-z or A-Z or 0-9 or . or _]
和删除所有其他字符的方法。
使用 RegEx 模式[^w.]
仅提取 a-z、A-Z、0-9、_ 或 。
var cleanedString = Regex.Replace("yourstring", @"[^w.]", string.Empty);
解释如下:
-
w
表示 a-z、A-Z、0-9 或 _ - \w 后面的
.
将允许文字"."> - 开头的
^
意味着除以下内容之外的所有内容 -
RegEx.Replace
将用空字符串(由最后一个参数指定(替换提供的输入(第一个参数中出现的不需要的字符(由第二个参数中的模式指定(
试试这个简单的函数。这将只保留正确的字符。
private string ClearUp(string inData) {
var reg = new Regex("[^A-Za-z0-9._]");
return reg.Replace(inData, string.Empty);
}