测试字符串值是否包含在字符串数组中

时间:2020-07-14 10:21:08

标签: c# arrays string contains

嗨,我有一个要查找的单词列表,如果找到了这个单词,我想将值从我的数组中删除

private static string[] WordList = { "Example No", "Name", "Client ID"};

var listToTest = new[] { "ME 0.3", "Example No.: 1243", "Name.:"};

var newList= new List<string>();
foreach (var value in listToTest)
{
    if (!WordList.Any(x => x.Contains(value)))
    {
        newList.Add(value);
    }
 }

return newList.ToArray();

我的测试返回我只希望其返回“ ME 0.3”

的所有值

2 个答案:

答案 0 :(得分:3)

如果!WordList.Any(x => x.Contains(value))中没有元素包含true,则

WordList将返回value,如果false中至少有一个元素包含<{1}包含WordList

因此您的代码将返回value的元素数组,listToTest中没有元素包含它们,但是正如您所说的,您希望包含WordList的元素数组listToTest的任何元素。因此,在WordList中将... x.Contains(value)))x彼此替换:

value

顺便有一种更整洁的方式:

private static string[] WordList = { "Example No", "Name", "Client ID"};

var listToTest = new[] { "ME 0.3", "Example No.: 1243", "Name.:"};

var newList= new List<string>();
foreach (var value in listToTest)
{
    if (!WordList.Any(x => value.Contains(x)))
    {
        newList.Add(value);
    }
 }

return newList.ToArray();

说明:

答案 1 :(得分:-1)

不是最有效的,但是有效。

import numpy as np
import matplotlib.pyplot as plt

arr = np.array([[3,4],[2,3.5],[10,11],[9,10]])

fig = plt.figure()
ax = fig.add_subplot(111)

ax.imshow(arr)

ax.set_title("example plot")
ax.set_yticklabels([])
ax.set_yticks([])