我有一个字符串数组,例如:
string[] myStrings = {"I want to take this string","This is not interesting"}
我想检查字符串数组是否包含值,然后返回包含它的整个字符串。
示例:
var index = Array.FindIndex(stringArray, x => x == stringArray.Contains("want"));
在此之后我想返回字符串:I want to take this string
,因为它包含我搜索的关键字。
我怎样才能达到这个结果?
答案 0 :(得分:10)
我会改用LINQ:
IEnumerable<string> occurences = stringArray.Where(s => s.Contains("want"));
在occurences
中,你有完整的所有出现的字符串,它们确实匹配。如果您只是对第一次点击感兴趣,可以对其进行FirstOrDefault
。
答案 1 :(得分:3)
您也可以尝试使用Array.FindIndex
,但请使用此功能:
int index = Array.FindIndex(myStrings, str => str.Contains("want"));
string desired = index >= 0 ? myStrings[index] : null;
答案 2 :(得分:2)
试试这个:
myStrings.FirstOrDefault(str => str.Contains("want"));
如果找不到,则返回包含want
或null
的第一个字符串。如果您需要包含want
的所有字符串的列表,请将FirstOrDefault
替换为Where
答案 3 :(得分:1)
CREATE TABLE BOOK_AUTHOR (
BookId NUMBER,
AuthorId NUMBER
);
试试这个...如果它包含'want',它将返回第一个字符串。