C#:如何使用字符串的字符重载.Replace()以不替换任何内容

本文关键字:替换 任何内 Replace 重载 何使用 字符串 字符 | 更新日期: 2023-09-27 17:58:25

我有以下扩展方法(无效且不编译ATM):

    public static string Strip( this string str, char[] charsToStrip )
    {
        foreach( char c in charsToStrip )
        {
            str.Replace( c, "" );
        }
        return str;
    }

str.Replace()调用需要调用Replace()的'char'重载,但是使用这个重载,我不确定该向第二个参数传递什么来告诉它用"nothing"替换。

此函数的目标是迭代charsToStrip变量中的每个字符,并删除源字符串str中该字符的所有实例。

如果我的功能是重新发明轮子,请告诉我。我正在使用.NET 3.5

提前谢谢。

C#:如何使用字符串的字符重载.Replace()以不替换任何内容

尝试:

str = str.Replace(c.ToString(), String.Empty);

请注意,string的实例是不可变的。因此,您需要分配String.Replace的结果,否则结果将丢失。

没有空字符,所以使用字符串重载:

str = str.Replace( c.ToString(), "");