如何从字符串中删除字符,列表中的字符除外

Mon*_*RPG 1 c# regex replace list character

这是我的字符串值:

string str = "32 ab d32";
Run Code Online (Sandbox Code Playgroud)

这个列表是我允许的角色:

var allowedCharacters = new List<string> { "a", "b", "c", "2", " " };
Run Code Online (Sandbox Code Playgroud)

我希望它成为:

str == " 2 ab   2";
Run Code Online (Sandbox Code Playgroud)

我想用空格替换任何不在允许的字符列表中的字符.

Tim*_*ter 5

没有正则表达式:

IEnumerable<Char> allowed = srVariable
    .Select(c => lstAllowedCharacters.Contains(c.ToString()) ? c : ' ');
string result = new string(allowed.ToArray());
Run Code Online (Sandbox Code Playgroud)