0

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

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);

这是我得到的语法错误:

正则表达式大小写语法错误

4

2 回答 2

2

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

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

于 2013-01-27T08:35:40.920 回答
0

所以我想通了。最后一行:

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

必须改为:

 sortBox1[i] = Regex.Replace(sortBox1[i], repl, "", RegexOptions.IgnoreCase);
于 2013-01-30T14:12:40.720 回答