如何用空格替换多个不同的字符?

时间:2009-10-27 17:57:34

标签: c# string replace

如何为每个字符实例替换带有空格的不同/多个字符?

要替换的字符为\ / : * ? < > |

6 个答案:

答案 0 :(得分:8)

您可以使用string.Split和string.Join:

来实现此目的
string myString = string.Join(" ", input.Split(@"\/:*?<>|".ToCharArray())); 

出于好奇,对性能进行了测试,它比Regex方法快得多。

答案 1 :(得分:3)

Regex.Replace(@"my \ special / : string", @"[\\/:*?<>|]", " ");

我可能有一些错误的逃脱......:/

答案 2 :(得分:1)

System.Text.RegularExpressions.Regex.Replace(input, @"[\\/:*?<>|]", " ")

答案 3 :(得分:0)

查看String API methods in C#.

如果你七次调用它,String.replace会起作用 或String.indexOfAny在循环中,使用String.remove和String.insert。

采用有效的代码方式,Regexp。

答案 4 :(得分:0)

这是一段可编辑的代码:

// input
string input = @"my \ ?? spe<<||>>cial / : string";

// regex
string test = Regex.Replace(input, @"[\\/:*?<>|]", " ");

// test now contains "my      spe      cial     string"

注意:这篇文章是对JustLoren原始代码的修复,它不完全是我的。

答案 5 :(得分:0)

您可以使用Regex

来完成
static void Main(string[] args)       
{        
    string myStr = @"\ / : * ? < > |";
    Regex myRegex = new Regex(@"\\|\/|\:|\*|\?|\<|\>|\|");
    string replaced = myRegex.Replace(myStr, new MatchEvaluator(OnMatch));
    Console.WriteLine(replaced);    
}

private static string OnMatch(Match match)
{
    return " ";
}