2016-12-22 76 views
-1

一個字符串可以在一行中包含多個空格 - 我需要用一個空格字符替換多個後續空格。 「問題」是我不知道有多少空間可能遇到。我查找的函數不僅應該替換找到的匹配的第一個出現,而且應該替換String中的所有多個相等的字符。替換字符串中的多個相等字符

我在網上搜索了很多,並試圖正則表達式X *(X,零次或多次)?」我發現溫特「不情願的量詞」上https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html#sum

沒有工作: s1 = s1.replaceAll(" *?", " "); 其中s1 = "Hello World";應該轉換爲s1 = "Hello World";

我會很感激任何幫助。

回答

3

您可以使用replaceAll(),它只用一個空格替換空格。

String st = "helllo world" 
System.out.println(st.replaceAll("\\s+"," ")) 

Output : helllo world 
+0

空白的正則表達式匹配器是'\\ s +',因爲這個答案正確地指出了。 請記住,'s1.replaceAll(「\\ s +」,「」)'產生一個新的String。因此,s1將保持不變,您需要將replaceAll的結果分配給新變量,以便使用正則表達式替換。 – Thanos