当前位置: 首页 > 知识库问答 >
问题:

获取Java中所有出现的bigram[重复]

濮阳俊明
2023-03-14

我试图从字符串中找出所有出现的二元字符。

下面我有一些代码可以实现其中的一些功能。

String testString = "Lorem ipsum dolor sit amet.";

Pattern pat = Pattern.compile("\\w+ \\w+");
Matcher mat = pat.matcher(testString);

while (mat.find()) {
    System.out.println("Match: " + mat.group());
}

我得到的是:

匹配:Lorem ipsum

比赛:dolor sit

而我想要的结果是:

匹配:Lorem ipsum

匹配:ipsum dolor

比赛:dolor sit

比赛:坐amet

共有2个答案

元胡媚
2023-03-14

尝试此模式(?

说明:

<代码>(?

(?=([^][^]))-正向前瞻,断言以下内容:[^]一个或多个空格以外的字符,空格和一个或多个空格以外的字符

演示。

正如评论中所建议的,这种模式可以稍微简化:<代码>(?=\b([^][^]))

另一个演示。

邓开济
2023-03-14

只匹配每个单词,而不是两个单词的每个组合。然后保存最后一个单词,每当发现新词时,存储一个doublet。

String testString = "Lorem ipsum dolor sit amet.";

Pattern pattern = Pattern.compile("\\w+");
Matcher matcher = pattern .matcher(testString);
String lastSingleWord = null;
List<String> results = new ArrayList<>();

while (matcher.find()) {
    String singleWord = matcher.group(0);
    if (lastSingleWord != null) {
        results.add(lastSingleWord + " " + singleWord);
    }
    lastSingleWord = singleWord;
}

之后,如果需要,可以输出列表,也可以随意处理。

results.stream().forEach(System.out::println);
// Lorem ipsum
// ipsum dolor
// dolor sit
// sit amet
 类似资料:
  • 问题内容: 我需要检查一个JavaScript数组,看看是否有重复的值。最简单的方法是什么?我只需要查找重复的值是什么-我实际上不需要它们的索引或它们被重复多少次。 我知道我可以遍历数组并检查所有其他值是否匹配,但是似乎应该有一种更简单的方法。 问题答案: 您可以对数组进行排序,然后遍历整个数组,然后查看下一个(或上一个)索引是否与当前索引相同。假设您的排序算法很好,则该值应小于O(n 2): 以

  • 我必须用下面的长字符串。如何提取介于“url=”和“,”之间的所有值,以便获得以下数组? 我尝试了以下方法,但它只给我第一次出现,但我需要它们。谢谢!

  • 问题内容: 我有一个如下的JSON数组: 我不知道该数组中确实存在哪些键。我想从数组中获取所有现有键。 应该可能是这样的: 请告诉我获取Json数组中所有现有键的方法或方法。 问候 问题答案: 试试这个: 我还对您当前的代码进行了一些修改(例如缓存)。

  • 问题内容: 我有一个类,我想找到它的所有 公共字段 (不是方法)。我怎样才能做到这一点? 谢谢! 问题答案: 返回该类的所有公共变量的数组。 返回整个类继承中的字段。如果要仅在相关类中定义字段,而不在其超类中定义字段,请使用,并通过以下方法过滤它们: 的字面实际上代表类型的对象。检查其文档以获取更多有趣的反射方法。 上面的类是。您可以查看整个程序包。

  • 我肯定这是以前问过的,如果重复,对不起。假设我有以下数据框: 在“key”上执行groupby,我知道我们可以执行以下操作: 获取数组中所有'拆分'数据的最简单方法是什么?: 我不一定只按一个键进行分组,而是使用其他几个索引(例如“年”和“月”),这就是为什么我想使用groupby函数,但保留数组中所有分组的值。

  • 问题内容: 我有一个对象列表,其中每个对象返回。我如何使用Java 8流仅获得一个? 类具有以下方法; 我有 我正在尝试的是 但是上面的行没有返回 ,而是 我不想要的。 问题答案: 您应该用来从包含在主列表中每个对象中的列表中创建一个列表。请检查; 该调用适用于列表中包含with 的情况,因为这将导致下一行,因此我们应该将其过滤掉。还有其他方法可以实现这一点; -- -- 您可以按如下方式包含来自