2011-03-16 22 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