gpt4 book ai didi

java - 如何只获取字符串的最后一个字母而不是整个字符串

转载 作者:行者123 更新时间:2023-11-30 07:49:55 25 4
gpt4 key购买 nike

我目前有一个函数可以搜索字符串数组并接受一个 char 参数并返回一个 int 信号以给定字符结尾的出现次数,我需要修改它以便它只计算以该字符结尾的出现次数具体的字符。

例如:

如果我有 Luke 和 Jen,并且我在寻找“e”,那么输出将是一个,因为 luke 是唯一一个以“e”结尾的

这是我当前的代码。

public int countFirstNameOccurrences(char c) {
return Reg.stream() // get Stream<Name>
.map(Name::getFirstName) // convert Stream<Name> to Stream<String> using Name's firstName
.mapToInt(s -> s.length() - s.replace(String.valueOf(c), "").length()) // calculate every occurrence c in each firstName and get an IntStream
.sum(); // sum all the values
}

最佳答案

要么这样:

public int countFirstNameOccurrences(char c) {
String character = String.valueOf(c); // character represented as a String
return Reg.stream() // Stream<Name>
.map(Name::getFirstName) // Stream<String>
.mapToInt(n -> n.endsWith(character)? 1 : 0) // IntStream
.sum(); // int
}

或如 Alexis 所建议的那样,但您需要转换为 int,因为 count 返回 long 类型。

public int countFirstNameOccurrences(char c) {
return (int)Reg.stream() //Stream<Name>
.map(Name::getFirstName) // Stream<String>
.filter(n -> n.charAt(n.length() -1) == c) // Stream<String>
.count(); // long
}

关于java - 如何只获取字符串的最后一个字母而不是整个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48178583/

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