删除不需要的字符

时间:2013-01-27 08:31:22

标签: c# regex casing

我正在尝试使用另一个列表来清理项目列表,并且除了不忽略大小写之外它工作正常。当我尝试添加序数或正则表达式套管检查时,我收到语法错误。有人能告诉我我做错了什么吗?这是我的代码:

List<string> removeChars = new List<string>(textBox_ScrubList.Text.Split(','));
            for (int i = 0; i < sortBox1.Count; i++)
                foreach (string repl in removeChars)
                    sortBox1[i] = sortBox1[i].Replace(repl, "", RegexOptions.IgnoreCase);

这是我得到的语法错误:

Regex Casing Syntax Error

2 个答案:

答案 0 :(得分:2)

假设sortBox1List<string>或类似,问题是String.Replace没有任何需要RegexOptions的重载。

您可以使用Regex.Replace,但在这种情况下,您应该可以构建一个单个正则表达式,以便一次删除所有字符。如果您 希望一次删除一个,则可能需要使用Regex.Escape来避免正则表达式模式成为问题。 (例如,如果它试图用“”替换“。”,你最终会摆脱一切。)

答案 1 :(得分:0)

所以我明白了。最后一行:

 sortBox1[i] = sortBox1[i].Replace(repl, "", RegexOptions.IgnoreCase);

必须改为:

 sortBox1[i] = Regex.Replace(sortBox1[i], repl, "", RegexOptions.IgnoreCase);