我这里有这个函数,它接受一个字符串数组,并且应该将除了一些字符之外的所有字符添加到List
。
public static void cleanUp(string[] results)
{
List<string> text = new List<string>();
for (int i = 0; i < results.Length; i++)
{
string key = results.ElementAt(i);
if (key != "\",\"" || key != "\"{\"" || key != "\"}\"" || key != "\":\"")
{
text.Add(key);
}
}
}
在结果数组中,有些元素看起来像,
和:
以及}
等...为什么我的if
语句没有过滤掉特殊字符
我在这里找不到什么东西?
答案 0 :(得分:1)
我认为你想要这个(使用String.Contains
方法):
List<string> text = results.Where(key => !key.Contains(',') &&
!key.Contains('{') && !key.Contains('}') &&
!key.Contains(':')).ToList();
text
是List
个字符串,没有特殊字符。
答案 1 :(得分:0)
将或更改为&amp;&amp;将是一个良好的开端!
if (key != "," && key != "{" && key != "}" && key != ":")
答案 2 :(得分:0)
您需要使用AND(&amp;&amp;)运算符而不是OR(||)。因为你正在使用|| ,其中一个总是匹配,并返回true。因此,密钥被添加。