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

C# 如何替换字符串中除几个字符外的所有字符和数字,c#,string,replace,char,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); 用于此

如何替换字符串中除几个字符外的所有字符和数字,例如“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);
用于此类场景:

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”


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

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

检查此项

给定代码和演示代码不同!同时更改演示代码buddy:)有什么区别?这是一样的。在Demo.Dump()中;有。请检查它。是的,这是要输出到
控制台
,在这里它不是必需的。但是它很好!创建一个“[^fal]”作为完整单词的意思。示例字符串模式=“@”[^fal]”@JerryGoyal这也是一个很好的答案,效果很好,但对于我的情况,最好使用下面的列表