C#不区分大小写替换字符串

5

我希望将字符串“Input”中的“fWord”替换为不区分大小写。

while (FilteredWords.Any(Input.Contains))
{
    foreach (string fWord in FilteredWords)
    {
        Input = Input.Replace(fWord, "****");
    }
}

(FilteredWords是一个字符串列表,Input是要“清理”的字符串)。 它可以工作,但是区分大小写。 我如何使fWord在替换时不区分大小写?


你可以使用 regexp.replace 来进行编程。 - Grundy
不,这不是重复的,因为我已经尝试过那种方法,但它仍然区分大小写。 - user3395421
@user3395421仅仅说“它不起作用”并不能自动排除重复问题的可能性。建议您承认其他问题,并解释为什么它没有起作用。 - psubsee2003
1个回答

10

如果重复问题的答案不能帮助您,这是适用于您情况的代码(请注意我删除了while循环——如果大小写不同,则其中的条件为false,而且您实际上不需要它):

foreach (string fWord in FilteredWords)
{
    Input = Regex.Replace(Input, fWord, "****", RegexOptions.IgnoreCase);
}
例如,下面的代码
string fWord = "abc";
input = "AbC";
input = Regex.Replace(input, fWord, "****", RegexOptions.IgnoreCase);

生成值为****


仍然无法正常工作... 我输入"abc",却得到"****",但如果我输入"AbC",我得到"AbC"。 - user3395421
正如您所看到的,它是从一个foreach中选择的字符串列表。 - user3395421
变量的值是多少? - Szymon
目前列表中仅包含字符串“abc”和“def”,因为我仍在测试它。 - user3395421
太好了 ;) 它起作用了。你救了我的一天! - user3395421
显示剩余4条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接