/ / Ako rozpoznať únikové znaky v čase rozdelenia reťazca - java, regulárny výraz, reťazec

Ako rozpoznať útekové znaky v čase rozdelenia reťazca - java, regex, reťazec

Mám hodnotu reťazca "Hello,World\,,1,2,3" a potrebujem, aby to bolo rozdelené s oddeľovačom ,. Metóda však musí tiež rozpoznať znaky escpace v čase rozdelenia a nakoniec musí byť výstupom pole ako,

[Hello, World,, 1, 2, 3]

Mám na to metódu, ale nerozpoznáva únikové znaky. Je poskytnutá nižšie,

public static String[] tokenize1(String record, char delimiter) {

String delim = String.valueOf(delimiter);
String[] arr = record.split(delim);

return arr;
}

odpovede:

2 pre odpoveď č. 1

Môžete skúsiť rozdelenie na čiarku, ale s negatívnym pohľadom, ktorý tvrdí, že čiarke neunikla spätná lomka:

String input = "Hello,World\,,1,2,3";
String[] parts = input.split("(?<!\\),");
for (String part : parts) {
// uncomment to also remove backslash
// part = part.replaceAll("\\,", ",");
System.out.println(part);
}

Výkon:

Hello
World,
1
2
3

demonštrácie