2014-05-23 31 views
0

我的要求是使用正則表達式從字符串中刪除所有不必要的空格。如何使用正則表達式在java中刪除不必要的空間並使用java中的修剪

我有一個這樣的字符串:

"name=john age=26  year=1999"; 

我想刪除兩個消除之間不必要的空間,預計產量

"name=john age=26 year=1999;" 
+0

我不認爲這是一個好主意trieing用正則表達式實現這 – deterministicFail

+6

@deterministicFail爲什麼不呢? – awksp

+0

那麼怎麼辦,你可以告訴我determinant – user3667783

回答

-3

有尋找空間正則表達式,現在只是更換

/\s+/ 
+2

我敢肯定,這是不正確的任務的Java正則表達式... – awksp

4
account = account.replaceAll("\\s+", " "); 
+0

''name = john \t age = 26 \t year = 1999「'給了我一個開始的空間。 – NaaN

+0

@tailorBird使用trim()後面的代碼'account = account.replaceAll(「\\ s +」,「」).trim();' – Jaguar

0

您可以使用String#replaceAll和使用REG-EX "[ \t]+"與一個一個像這樣的替換多個空間:

account.replaceAll("[ \t]+", " "); 

希望這有助於。

+1

這將在選項卡和類似的空白處「失敗」。 – user2864740

+0

爲什麼這個類('[]')? – Biffen

+0

我同意你的意見。但OP只要求多個空格。這就是爲什麼我只用'[]'而不是'\\ s'。將\ t添加到:) – Sanjeev

0

這是怎麼回事?

String before =" name=john age=26  year=1999 "; 
    String after = before.replaceAll("\t", " "); 
    after = after.trim().replaceAll(" +", " "); 
    System.out.println(after); 
相關問題