2
我想用"\n"
替換";"
,除非它使用前導'\'轉義。我還沒有弄清楚正確的正則表達式。具有轉義字符的Java模式正則表達式
以下是我有:
String s = "abc;efg\\;hij;pqr;xyz\\;123"
s.replaceAll("\\[^\\\\];", "\\\\n");
我希望上面的字符串與"abc\nefg\;hij;pqr;xyz\;123"
我想用"\n"
替換";"
,除非它使用前導'\'轉義。我還沒有弄清楚正確的正則表達式。具有轉義字符的Java模式正則表達式
以下是我有:
String s = "abc;efg\\;hij;pqr;xyz\\;123"
s.replaceAll("\\[^\\\\];", "\\\\n");
我希望上面的字符串與"abc\nefg\;hij;pqr;xyz\;123"
使用負的外觀後面來代替:
s = s.replaceAll("(?<!\\\\);", "\n");
表達(?<!\\)
(編碼爲Java字符串文字"(?<!\\\\)"
)表示「前一個字符不應該是反斜槓」
測試代碼:
String s = "abc;efg\\;hij;pqr;xyz\\;123";
s = s.replaceAll("(?<!\\\\);", "\n");
System.out.println(s);
輸出:
abc
efg\;hij
pqr
xyz\;123
只是's.replace( 「\\」; 「\ n」);' – Maljam
我不想替換\;與\ n。只有帶新行的分號。我修正了上面的正則表達式。 –
所以,@DarthNinja,當你說「我想替換'\';與'\ n'「 - 你不是那個意思......那是對的?請問你的意思。 –