java - Java将字符串数组中每个单词的首字母大写
问题描述
抱歉,目前在移动设备上。
我有一个值ABC、DEF、GHI的字符串数组,我想将其更改为大写形式:Abc、Def、Ghi
我的代码看起来像这样:
import org.apache.commons.lang3.text.WordUtils;
....
final String[] split = stringToConvert.split(", ");
final StringBuilder sb = new StringBuilder();
for ( String s : split) {
//s = WordUtils.capitalizeFully(s.toLowerCase());
if (sb.length() > 0) {
sb.append(", ");
}
sb.append(WordUtils.capitalizeFully(s.toLowerCase()));
}
return sb.toString();
第一个值始终是 abc,但第二个和后面的值是正确的,例如 Def, Ghi。我不知道为什么第一个值保持小写。
任何帮助,将不胜感激!
解决方案
再次检查您的代码。
StringBuilder buf = new StringBuilder();
for (String str : new String[]{"ABC", "DEF", "GHI"})
buf.append(WordUtils.capitalizeFully(str.toLowerCase()));
System.out.println(buf);
按预期打印AbcDefGhi
。
如果您使用,它可能会更简单Stream
:
String res = Stream.of("ABC", "DEF", "GHI")
.map(WordUtils::capitalizeFully)
.collect(Collectors.joining(", ")); // if you want to split words with comma
推荐阅读
- javascript - 您可以在输入类型编号中步进“1.00”而不是 1 吗?
- java - 如何在两个字节中转换超过 256 的十六进制值
- javascript - FB.logout() 不适用于角度/离子 3
- php - 如何使用mysql查找多边形线内的位置
- rest - 通过 Postman 的多个 PUT 请求?
- reactive-programming - 如何将 n1ql 查询转换为与 Spring couchbase 反应式存储库以及 @Query 注释一起使用?
- angular - ngx-swiper-wrapper 是否适用于 Angular 7?
- javascript - 使用数据页面列表时 Javascript 不起作用
- c++ - 如果未对输入图像调用 setpixel 方法,则图像分割失败
- java - 如何在 Spring 中使用 Autowired 注解