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ď č. 1Môž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