gpt4 book ai didi

c# - 提取带有关键词的句子

转载 作者:行者123 更新时间:2023-12-02 05:12:53 33 4
gpt4 key购买 nike

所以我有这个问题。

编写一个程序,从文本中提取包含特定单词的所有句子。我们接受句子之间用字符“.”分隔。并且单词之间由非字母的字符分隔。

示例文本:

我们住在一艘黄色潜水艇里。我们没有别的东西了。潜艇内部非常狭窄。所以我们整天都在喝酒。我们将在 5 天后搬出。

结果示例:

We are living in a yellow submarine.

We will move out of it in 5 days.

这是我到目前为止的代码。

public static string Extract(string str, string keyword)
{

string[] arr = str.Split('.');
string answer = string.Empty;

foreach(string sentence in arr)
{
var iter = sentence.GetEnumerator();
while(iter.MoveNext())
{
if(iter.Current.ToString() == keyword)
answer += sentence;
}
}

return answer;
}

好吧,这不起作用。我用以下代码调用它:

string example = "We are living in a yellow submarine. We don't have anything else. Inside the submarine is very tight. So we are drinking all the day. We will move out of it in 5 days.";

string keyword = "in";
string answer = Extract(example, keyword);
Console.WriteLine(answer);

它不输出任何内容。这可能是迭代器部分,因为我对迭代器不熟悉。

无论如何,问题的提示表明我们应该使用 splitIndexOf 方法。

最佳答案

sentence.GetEnumerator() 返回一个 CharEnumerator,因此您正在检查每个句子中的每个字符。单个字符永远不会等于字符串“in”,这就是它不起作用的原因。您需要查看每个句子中的每个单词并与您要查找的术语进行比较。

关于c# - 提取带有关键词的句子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24661009/

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