如何为每个字符实例替换带有空格的不同/多个字符?
要替换的字符为\ / : * ? < > |
答案 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.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 " ";
}