繁体   English   中英

解析字符串以删除空格java

[英]parse string to remove spaces java

我需要一些帮助来解析输入到稍后清理和输出的字符串的字符串。

例如

String str = " tHis  strIng is  rEalLy mEssy  "

而我需要做的是从中解析它看起来像这样:

"ThisStringIsReallyMessy"

所以我基本上需要清理它然后只将每个单词的第一个字母设置为大写字母,而不会在有人使用数字的情况下中断。

Apache Commons拯救(再次)。 与往常一样,值得查看Commons库,不仅仅是针对这个特定问题,还有很多功能。

您可以使用Apache Commons WordUtils.capitalize()来大写字符串中的每个单词。 然后一个replaceAll(" ", "")将你的空白分开。

String result = WordUtils.capitalize(str).replaceAll(" ", "");

注意(其他)Brian的评论如下。 replace() vs replaceAll()背后的选择。

   String str = " tHis  strIng is  rEalLy mEssy  ";
   str =str.replace(" ", "");
   System.out.println(str);

输出:

tHisstrIngisrEalLymEssy

为了使每个单词中的首字母大写,没有可用的内置函数,该线程有可能的解决方案。

String[] tokens = " tHis  strIng is  rEalLy mEssy  ".split(" ");
StringBuilder result = new StringBuilder();
for(String token : tokens) {
    if(!token.isEmpty()) {
        result.append(token.substring(0, 1).toUpperCase()).append(token.substring(1).toLowerCase());
     }
}
System.out.println(result.toString()); // ThisStringIsReallyMessy

你是说这个吗?

str = str.replaceAll(" ", "");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM