正则表达式允许使用特定特殊字符点网的字母数字

时间:2014-07-23 23:39:36

标签: c# asp.net regex string replace

我有一个很大的.txt文件,我正在使用StreamReader(C#.NET)阅读。

我的要求是替换列表中不包含的任何特殊字符,以替换整个字符串中的空格(多次出现)。

允许使用的特殊字符列表为& / - ' . ) (

到目前为止,我已经尝试了这个但是它没有按照我想要的方式工作:

aLine = Regex.Replace(aLine, "[^0-9A-Za-z().&'/-]+$", " ");

1 个答案:

答案 0 :(得分:2)

您当前的正则表达式是这样做的:

String input = "123abc[]]]]]]456:$def";
String aLine = Regex.Replace(input, "[^0-9A-Za-z().&'/-]+$", " ");
//=> "123abc[]]]]]]456:$def" 
      ^^^^^^^^^^^^^^^^^^^^^ original string (did not replace)

删除字符串$锚点的结尾:

String input = "123abc[]]]]]]456:$def";
String aLine = Regex.Replace(input, "[^0-9A-Za-z().&'/-]+", " ");
//=> "123abc 456 def"

如果您想为每个实例留一个空格,请删除量词:

String input = "123abc[]]]]]]456:$def";
String aLine = Regex.Replace(input, "[^0-9A-Za-z().&'/-]", " ");
//=> "123abc       456  def"