gpt4 book ai didi

java - 检查3个字符串是否位于同一个句子中-Java

转载 作者:太空宇宙 更新时间:2023-11-04 07:18:58 25 4
gpt4 key购买 nike

我正在检查 3 个字符串是否位于同一个句子中。

例如句子巴拉克出生于 1960 年 11 月 4 日。这句话中的 string1 是巴拉克·奥巴马 (Barack Obama) string2 诞生于 string3 是 1960 年 11 月 4 日

我的想法是检查 string1、string2 和 string3 之间是否没有句点(“.”),我可以相信 3 个字符串位于同一个句子中。

但有时句子就像Mr.smith and mrs.smith wereborn on April 2 1970.

如果我只检查句点(“。”),我的方法就会失败。有人可以建议我是否有其他方法来检查同一个句子中是否有 3 个字符串?

最佳答案

正如评论中所说,使用BreakIterator。它为您做正确的事。

BreakIterator i=BreakIterator.getSentenceInstance(Locale.US);
final String text = "Mr. smith and mrs.smith both born on April 2 1970. Barack born on November 4 1960.";
i.setText(text);
for(int s=i.first(), e=i.next(); e>=0; s=e, e=i.next())
{
System.out.println("Sentence: from "+s+" to "+e+" \""+text.substring(s, e)+'"');
}

一旦知道了句子的边界,您就应该知道如何将找到的字符串位置与其进行匹配。

关于java - 检查3个字符串是否位于同一个句子中-Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19588250/

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