2012-08-25 94 views
4

如何從字符串中刪除多個換行符,以便只有一個換行符(如果有)。例如,我有一個字符串"\r\n\r\n\r\n\r\n\r\n\r\n\r\n",我怎麼能把它變成一個'\n'刪除多個換行符

+1

打破瞭如果他們是在一個字符串,'修剪結束()'將很好地刪除所有空白。如果在一個字符串內部,那麼使用正則表達式替換allAll(...)'會很好。 **編輯**:正如@Reimeus所述。 1+給他。 –

回答

20

你可以使用:

myString = myString.replaceAll("[\r\n]+", "\n"); 
+1

對於原始海報來說,第一個參數是一個[正則表達式](http://docs.oracle.com/javase/tutorial/essential/regex/),這就是這種方法的強大之處。 1 +投票。 –

+0

你也可以考慮在搜索正則表達式中使'\ r'是可選的。這樣'\ n \ n \ n'也可以縮減爲'\ n'。 Nitpicking我知道。編輯:沒關係,因爲括號內的字符是可選的,如@HovercraftFullOfEels指出的 – MartyE

+1

@Marty:它**在上述正則表達式中是可選的,因爲他正在使用[字符類](http://docs.oracle.com .com/javase/tutorial/essential/regex/char_classes.html),所以你的挑剔是不正確的。 –

1

在Android中,我設法除去2個以上符合本

textPiece = textPiece.replaceAll("\n\n\n+", "\n\n");