2
我想通過掃描程序拆分下面的多行字符串。我想分裂開始與線 「A |」基於分隔符的拆分多行字符串
Input
A|14|23|656
B|15|ga|a
A|11|424|6262
輸出
Group
A|14|23|656
B|15|ga|a
Group
A|11|424|6262
我試圖掃描儀如下。
public static void main(String[] args) {
String abcd = "A|14|23|656\r\nB|15|ga|a\r\nA|11|424|6262";
try (final Scanner scan = new Scanner(abcd)) {
scan.useDelimiter("^A\\|");
while (scan.hasNext()) {
System.out.println("Group");
System.out.println("A|" + scan.next());
}
}
}
實際:只是考慮匹配A |第一行不在其他行上的。
Group
A|14|23|656
B|15|ga|a
A|11|424|6262
參見[這個答案](https://stackoverflow.com/a/45293555/2310289)有關如何使用多線拆分 –
@ScaryWombat。謝謝。我試過這個解決方案String [] paragraph = abcd.split(「(?m)^ A \\ | $ \\ R?」);但這似乎並不奏效。 – Patan
@帕坦我認爲即使是第一線也沒有得到考慮。你可以試試這個:'String abcd =「B | 15 | ga | a \ r \ nA | 14 | 23 | 656 \ r \ nA | 11 | 424 | 6262」'請檢查輸出。 –