我正在尝试使用另一个列表来清理项目列表,并且除了不忽略大小写之外它工作正常。当我尝试添加序数或正则表达式套管检查时,我收到语法错误。有人能告诉我我做错了什么吗?这是我的代码:
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);
这是我得到的语法错误:
答案 0 :(得分:2)
假设sortBox1
是List<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);