gpt4 book ai didi

java - 如何从 Java Stream 中获取以该数字开头的数字的每个数字?

转载 作者:行者123 更新时间:2023-11-29 04:22:51 25 4
gpt4 key购买 nike

我得到了一个包含数字和单词的文本。

如何为每个数字获取文本中以该数字开头的数字的个数?

我想在这里使用 Java Streams。

我设法过滤了所有数字:

Files.lines(Paths.get("/path/to/file/text.txt"))
.filter(Pattern.compile("\\d+").asPredicate())

但困难的部分来了。如何为每个数字计算以它开头的数字的数量?

最佳答案

过滤后可以按首字母分组,将数据放入Map<Character,Integer>中:

Map<Character,Integer> digCount = Files
.lines(Paths.get("/path/to/file/text.txt"))
.filter(Pattern.compile("\\d+").asPredicate())
.collect(Collectors.groupingBy(s -> s.charAt(0), Collectors.summingInt(s->1)));
for (Map.Entry<Character,Integer> e : digCount.entrySet()) {
System.out.println(e.getKey()+" "+e.getValue());
}

Demo.

关于java - 如何从 Java Stream 中获取以该数字开头的数字的每个数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48017377/

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