我使用這個正則表達式由2個字符分割一條線分成多個組。獲得額外行使用行分隔符
string.replaceAll("(.{2})", "$1\r\n")
這裏是一個例子。
像我輸入的輸入字符串是這樣
ABCDEFGHIJ
和輸出我越來越喜歡這個
Output
->AB
->CD
->EF
->GH
->IJ
->
有沒有什麼辦法讓我沒有收到最後的空行?
我使用這個正則表達式由2個字符分割一條線分成多個組。獲得額外行使用行分隔符
string.replaceAll("(.{2})", "$1\r\n")
這裏是一個例子。
像我輸入的輸入字符串是這樣
ABCDEFGHIJ
和輸出我越來越喜歡這個
Output
->AB
->CD
->EF
->GH
->IJ
->
有沒有什麼辦法讓我沒有收到最後的空行?
你有兩個選擇:
(.{2})(?!$)
現在正則表達式將捕獲所有對除了最後一個,而且你不會換一個新的線。
其他辦法可以是:
String.join(System.lineSeparator(), string.split("(?<=\\G..)"))
隨着string.split("(?<=\\G..)")
你每兩個字符後拆分,但由於split
在默認情況下刪除尾隨空字符串,你不會在你的結果得到它。所以"ABCD"
成爲["AB", "CD"]
陣列。
然後使用String.join(delimiter, elements)
您可以加入從數組元素連接成一個字符串,它們之間指定的分隔符,在我們的例子OS行分隔符。
嗨@ Pshemo..Can請你告訴我一件事......我又讀文件像獲取與行分離器恰當拆分「\ n」個作爲輸入文件行分隔符之後提到在上面的示例。並使用行分隔符「\ r \ n」將文件分割成多個文件作爲輸出文件。但我正在接受一個額外的線路,就像我在問我的問題。任何建議? – kelly
很抱歉,但你可以澄清你的問題嗎?我不確定你的意思是「像上面例子中提到的那樣再次讀取文件」,因爲沒有任何發佈的例子包含讀取文件,而只處理來自String的文本。我只能假設,通過分割文件,你的意思是添加行分隔符到字符串。無論如何,沒有看到[MCVE]我只能猜測你可以使用'println()'而不是'print()',它在打印文本之後添加行分隔符。在\ r \ n'中只處理'\ n'時,您可能會忘記'\ r'。這很難說。 – Pshemo
它,因爲它只有一個參數,如果我跟着你 – kelly
@kelly'不工作string.replaceAll( 「({2})(?!$)」)的replaceAll(字符串,字符串)錯誤string.replaceAll( 「({2})(?!$)」, 「$ 1 \ r \ n」)' – Maroun