gpt4 book ai didi

c# - 从单词索引中获取完整的句子

转载 作者:行者123 更新时间:2023-11-30 20:06:15 25 4
gpt4 key购买 nike

我试图找到一种比下面的代码更优雅的方法来根据其中一个包含词的索引获取句子列表。因此,例如,如果我给它一个单词列表,例如用户名,它会找到所有这些单词的索引(这已经完成并且是 GetWordsMatches 方法)然后,使用该单词的索引,我想捕获整个句子。

我有两个问题,一,我无法弄清楚如何在单词之前查看前一段,只是结束一,二,如果最后一个单词匹配,我无法弄清楚如何阻止它崩溃文件结束前没有句点。

public static List<string> GetSentencesFromWords(List<string> Words, string FileContents)
{
List<string> returnList = new List<string>();
MatchCollection mColl = GetWordsMatches(Words,FileContents);
foreach (Match ma in mColl)
{
int tmpInd = ma.Index;
int endInd = FileContents.IndexOf(".", tmpInd);
string tmp = FileContents.Substring(tmpInd,endInd);
returnList.Add(tmp);
}
return returnList;
}

有没有更优雅的方法来做到这一点?

最佳答案

只是快...

  • 您可以使用 LastIndexOf(str, index) 从某个位置向后搜索,

  • 对于“结束条件”,我猜你应该只在“.”搜索中添加一个 if(如果它到达结尾,它会返回 ' -1'),

...无论如何,拆分文件内容(使用 . 作为分隔符)可能会更好,这样您就不会遇到最后一个问题拿起最后一行。然后搜索单词(在每一行中,IndexOf 与当前 index)。或者我可能会使用枚举器 (w/yield return) 扩展方法来并行执行所有操作 - 并返回 IEnumerable 以便您可以更“实用”,向查询添加其他内容。

希望对你有帮助

关于c# - 从单词索引中获取完整的句子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10003497/

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