检查单词是否包含不在字母数组中的字符

时间:2018-10-27 10:11:52

标签: c# arrays .net string

我有这个字母数组和一个单词:

string Digits = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
Array alphabet = Digits.ToCharArray();
string target = "ABC?0";

我要检查target是否包含alphabet array中不可用的字符,如果是,请打印该字符。因此,在上面的示例中,target中有两个字符,alphabet中没有两个字符("0""?")。 我该怎么办?

2 个答案:

答案 0 :(得分:1)

您不需要ToCharArray。只需像这样使用Except方法:

var result = target.Except(Digits).ToArray();

如果您仍然需要使用字母,请将其类型更改为char[]

char[] alphabet = Digits.ToCharArray();
var result = target.Except(alphabet).ToArray();

如果您希望以字符串形式查看结果,则可以使用string.Join,如下所示:

var result = string.Join("", target.Except(Digits));

只需确保已将using System.Linq;添加到您的using语句中。

答案 1 :(得分:1)

if(alphabet.Contains(target))
{
  // do some work 
}

也请检查此链接:How to check if a particular character exists within a character array