【发布时间】:2019-03-22 22:59:32
【问题描述】:
Java 8 流有一个字符串问题。他们想让我把所有的第一个字母都改成大写字母,只要这些词不在“the”、“a”、“to”、“of”、“in”组中。
我的问题是filter 命令确实从组中删除了单词,我必须保留它们。
我已经完成了大写首字母的部分,但我不知道如何“跳过”这组单词
private List<String> ignoredWords = Arrays.asList("the", "a", "to", "of", "in");
String entryParts[] = toTitlelize.split(" ");
List<String> sentenceParts = Arrays.asList(entryParts);
List<String> finalSentence = sentenceParts.stream()
.map(WordUtils::capitalize)
.collect(toList());
例如:
if toTitlelize = "I love to eat pizza in my home"
它应该返回
“我喜欢在家吃披萨”
目前它给了我:
“我喜欢在家吃披萨”
【问题讨论】:
-
您可以选择实现
capitalize,使其也忽略来自ignoredWords集合的单词。
标签: java filter java-stream