我需要完成以下工作。我有允许的字符列表(用于QB Issues with special characters in QBO API v3 .NET SDK)
var goodChars = "ABCD...abcd...~_-...";
void string Sanitize(string input)
{
// TODO: Need to take input and replace all chars not included in "goodChars" with a space
}
我知道如何使用RegEx查找坏字符,但这就像倒退,我不需要查看匹配项。我需要查看不匹配的内容并仅替换那些内容。
答案 0 :(得分:7)
string Sanitize(string input)
{
return new string(input.Select(x => goodChars.Contains(x)?x:' ').ToArray());
}
并且正如 vc 74 所建议的那样,最好使用HashSet<char>
的goodChars而不是字符串来加快查找速度
答案 1 :(得分:6)