gpt4 book ai didi

c# - 确定是否有任何值列表出现在字符串中,并返回哪一个

转载 作者:太空宇宙 更新时间:2023-11-03 19:45:38 24 4
gpt4 key购买 nike

在 C# 中,我想在字符串中搜索任何单词列表,并返回找到的单词。我知道我可以循环,但我很好奇是否有更简单的方法。

基本上有 3 个值是“允许的”,但有时被读取的值将具有该值加上无关的后缀。

例如

string[] permittedValues = {"Historical Search","Correspondence","Archived"};

但被检查的数据可能是:

"Historical Search"            (should return "Historical Search")

"Correspondence Vol 2" (should return "Correspondence")

"Archived - fileroom 3" (should return "Archived")

"sldfjslkdfjsdklfj" (should return something allowing it to be handled)

我可以

bool isValidValue = permittedValues.Any(myString.Contains);  

查看是否出现任何列表,但我还需要获取哪一个。

希望这是有道理的。

(最初我错误地将“Historical Search”设为“Historical”,所以我将 Eser 的答案标记为正确,因为它对我的原始问题是准确的。

最佳答案

如果总是后缀不同,那么这样的方法对您有用。本质上,它表示:找到第一个与我的输入具有相同起始字符的 permittedValue,如果没有找到则返回 null

    string[] permittedValues = {"Historical","Correspondence","Archived"};
string input = "Historical Vol2";
string val = permittedValues.FirstOrDefault(v => input.StartsWith(v)); // this will be null if there's no match.

if (val == null) {
Console.WriteLine("not permitted");
}
else {
Console.WriteLine(val); // prints "Historical"
}

关于c# - 确定是否有任何值列表出现在字符串中,并返回哪一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46084176/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com