gpt4 book ai didi

c# - 查找取自字符串的关键字,然后在字符串列表中查找

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

我有一个包含四个项目的字符串list

Orange
Lemon
Pepper
Tomato

另外,我有一个String str句子:

Today, I ate a tomato and an orange.

1)如何检查str是否包含list的某些关键字?不考虑大写或小写字母,基本上捕获了所有匹配的内容?

我尝试了此操作,但它不起作用,因为它将寻找相同的单词。 list.Contains(str)

Dim result As String() = list.FindAll(str, Function(s) s.ToLower().Contains(str))但也没有用。

2)如果在tomato中单词tomatoesstr怎么办,如何仍能检测到tomato部分并丢弃es部分?

有什么建议或想法吗?

最佳答案

var list = new string[] { "Orange", "Lemon", "Pepper", "Tomato" };
var str = "Today, I ate a tomato and an orange.";


使用LINQ和正则表达式,您可以检查string是否包含任何关键字:

list.Any(keyword => Regex.IsMatch(str, Regex.Escape(keyword), RegexOptions.IgnoreCase));


或获取匹配的关键字:

var matched = list.Where(keyword =>
Regex.IsMatch(str, Regex.Escape(keyword), RegexOptions.IgnoreCase));
// "Orange", "Tomato"


顺便说一句,这将同时匹配 tomatoesfootomato。如果需要匹配单词的开头,则搜索模式应稍作更改: @"(^|\s)" + keyword

关于c# - 查找取自字符串的关键字,然后在字符串列表中查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13823689/

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