只有點
如果你想更換點,你可以使用():
String str = "This is a string. It does not have new lines.";
str = str.replaceAll("\\.\\s?", "\\.\n");
我讓\\s?
因爲你可以得到哪些沒有點之間的任何空間中的句子和字符:
This is a string.It does not have new lines
//--------------^^
輸出
This is a string.
It does not have new lines.
所有的標點
標點符號:一個!"#$%&'()*+,-./:;<=>[email protected][\]^_
{|}〜`
如果你想你可以使用@assylias的解決方案提意見的標點符號,你可以使用\p{Punct}
這樣的:
str = str.replaceAll("(\\p{Punct})\\s?", "$1\n");
所以你可以使用這個模式就像一羣(\p{Punct})
,因爲當你更換了punctu通貨膨脹也被更換,因此要避免這種情況,你可以用這個組(punctuation) + new line
這樣的替換:
str = str.replaceAll("(\\p{Punct})\\s?", "$1\n");
只有一些標點符號
如果你想使用只是一些標點符號,而不是全部,例如只需.,;
,你可以使用[.,;]
這樣的:
str = str.replaceAll("([.,;])\\s?", "$1\n");
查找'\ p {} PUNCT在模式類的javadoc的'。 – assylias