Fractionner par: mais pas :: [dupliquer]
Sep 08 2020
Je me demandais comment je pourrais diviser une chaîne en n'utilisant :pas::String#split(String)
J'utilise Java si cela fait une différence.
J'ai beaucoup regardé autour de moi et je n'ai rien trouvé, et je ne connais pas Regex ...
Exemple:
coolKey:cool::valuedevrait revenir ["coolKey", "cool::value"]
cool::key:cool::valuedevrait retourner["cool::key", "cool::value"]
Réponses
TimBiegeleisen Sep 08 2020 at 06:37
Vous pouvez essayer de diviser sur (?<!:):(?!:):
String input = "cool::key:cool::value";
String[] parts = input.split("(?<!:):(?!:)");
System.out.println(Arrays.toString(parts));
Cela imprime:
[cool::key, cool::value]
Le regex utilisé ici dit de se séparer quand:
(?<!:) the character which precedes is NOT colon
: split on colon
(?!:) which is also NOT followed by colon