2011-03-16 41 views
0

刪除空白這是我的字符串..我怎麼可以在Java從我的字符串

08h03   Data1    Data2  Data3  Data4   5 

使用REG EXP刪除空格有什麼辦法我已經嘗試過更換(」」,‘’);

+2

您的預期產出是多少?你的代碼返回'「08h03Data1Data2Data3Data45」'。 – Kobi 2011-03-16 10:35:48

回答

8

您可能沒有重新分配字符串。嘗試:

String s = "08h03   Data1    Data2  Data3  Data4   5"; 
s = s.replace(" ", ""); 

注意String.replace(...)並不需要一個正則表達式字符串作爲參數:只是一個簡單的字符串。

這將刪除字符串中的所有空格,如果你問我,這是一個奇怪的要求。也許你想分割輸入?這可以這樣做:

String[] tokens = s.split("\\s+"); // `\\s+` matches one or more white space characters 
// tokens == ["08h03", "Data1", "Data2", "Data3", "Data4", "5"] 

或者甚至可能用一個替換2個或更多的空格?這可以這樣完成:

s = s.replaceAll("\\s{2,}", " "); // `\\s{2,}` matches two or more white space characters 
// s == "08h03 Data1 Data2 Data3 Data4 5" 
2

使用replaceAll()方法。

String s = "08h03   Data1    Data2  Data3  Data4   5 "; 
s = s.replaceAll("\\s", ""); 
+0

唯一的好處是它還可以刪除製表符和換行符(如果需要的話)。如果不是必需的,那也是主要的缺點。這裏的關鍵詞是* required * - OP(原始海報)想要什麼是非常不清楚的。 – Kobi 2011-03-16 10:52:52

+2

因爲repalce處理String常量,其中replaceAll()處理正則表達式(所有字符串中的特殊字符) – 2011-03-16 10:52:56