【发布时间】:2018-04-27 21:01:55
【问题描述】:
我有一个字符串
"Red apple, blue banana, orange".
我怎么能先用“,”分割它,然后在两个单词之间添加“_”(例如 Red_apple 但不是橙色)并将所有字母大写。我阅读了一些帖子并找到了解决方案,但它只有拆分部分,我怎么能添加“_”并将所有字母大写? :
Pattern pattern = Pattern.compile(", ");
List<Fruit> f = pattern.splitAsStream(fruitString)
.map(Fruit::valueOf)
.collect(Collectors.toList());
Fruit 是一个枚举对象。因此,基本上,如果我能够将字符串转换为某种格式,并且能够根据 Enum 名称获取 Enum 对象。
【问题讨论】:
-
另一种解决方案
Arrays.asList(str.split(",")).stream() .map(s->s.replace(' ', '_')).map(String::toUpperCase) .collect(Collectors.toList());
标签: java regex string java-8 java-stream