用于替换不需要的字符的 Linq



我有一个Linq代码来获取可接受的字符并删除其他字符。但是这段代码用"替换了其他代码(没有+null+字符串.empty等)我想用空格 ( ) 替换。我该怎么做?

多谢。

string clean = new string(incomingText.Where(c => @" 0123456789abcçdefgğhıijklmnöopqrsştuüvwxyz".Contains(c)).ToArray());

好吧,您可以使用:

// Alternatively use a HashSet<char>
string acceptableCharacters = " 1234...";
string clean = new string(incomingText.Select(c => acceptableCharacters.Contains(c) ?
                                                   c : ' ')
                                      .ToArray());

请注意,这仍然不是非常有效。我可能会用电话来代替Regex.Replace

Regex invalidCharacterPattern = new Regex("[^ 0-9a-zçğıöşü]");
string clean = invalidCharacterPattern.Replace(incomingText, " ");

最新更新