如何刪除Java字符串 空白,我也試試這個如何刪除java字符串處理的空白
String x=splitString.replaceAll("\\s+","");
而且這個
String x=splitString.trim()
,但它不工作
如何刪除Java字符串 空白,我也試試這個如何刪除java字符串處理的空白
String x=splitString.replaceAll("\\s+","");
而且這個
String x=splitString.trim()
,但它不工作
的人認爲\s
比賽所有空白都是很簡單的錯誤小軍! Looking in the docs我們可以看到,它匹配[ \t\n\x0B\f\r]
- (或者換句話說,只是普通的老式普通空格)打破空白一堆
同樣,trim()
不匹配所有空白或者(這個更糟糕的是,它匹配所有具有值< =空格的字符,其中大部分不是技術上的空格) - 所以在字符串之前和之後給出空格的示例,然後調用trim()
就不是一個全面的測試想像力。
鑑於上述情況,您所提供的一定會從字符串中去除所有打破空白的(基於正則表達式)的代碼,所以它聽起來像你對我在那裏有一個潛在的非破空白字符。如果您從某些外部源拉取任何文本,而不是僅僅將代碼寫入字符串(例如HTML頁面的一部分可能是最有可能的候選者),則情況尤其如此。
如果是這樣的話,那就試試:
String x=splitString.replaceAll("\\p{Z}","");
...其中\p{Z}
是匹配任何一種空白的,不只是不打破空間的快捷方式。 \p{Separator}
是其較長(等同)的形式。
其工作感謝..... –
+1注:trim()刪除尾隨/前導字符<=空格。這包括許多非空格字符,並錯過許多更高的空格字符。 –
@PeterLawrey謝謝你 - 我完全不知道!相應地更新了答案。 – berry120
試試這個代碼會幫到你!
String st = " Hello I am White Space ";
System.out.println(st); // Print Original String
//st = st.replaceAll("\\s+",""); // Remove all white space and assign to same
st = st.trim(); // It is working fine.
System.out.println(st); // Print after removing all white space.
解釋不起作用,因爲第一個肯定會替換所有的空格。 –
你想刪除所有的空白區域或只有左側和右側修剪? –
只是爲了說清楚:x在方法調用後沒有空白。 splitString保持不變字符串在java中是不可變的 –