除了几个字符外,如何替换字符串中的所有字符和数字

时间:2016-09-12 04:35:04

标签: c# string replace char

如何替换除了几个字符之外的字符串中的所有字符和数字,例如“f”,“a”,“l”以避免这样的事情:

String str = "replace different characters except several";
Console.WriteLine("Input: " + str);
str = str.Replace('a', '.').Replace('b', '.').Replace('c', '.');
Console.WriteLine("Output: " + str);

2 个答案:

答案 0 :(得分:1)

对这些情况使用Regex

String str = "replace different characters except several";
str = Regex.Replace(str, @"[^fal]", "."); //Replace all with "." EXCEPT f,a,l
Console.WriteLine(str);
  

输出: - “...... la ..... ff ........ a.a .................. al”

答案 1 :(得分:0)

一种方法是使用Linq并替换除排除列表中的字符以外的所有字符。

char[] excluded = new char[] {'f', 'a', 'l'};       
var output = new string(str.Select(x=> excluded.Contains(x)? x:'.').ToArray());

选中此demo