簡體   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