我如何取代所有的字符和数字在字符串除了几个字符

本文关键字:字符 字符串 几个 数字 何取代 取代 | 更新日期: 2023-09-27 18:06:32

如何替换字符串中的所有字符和数字,除了几个字符,例如"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);

输出:——"……拉……ff……一位 .................. 艾尔"

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

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

Check this demo