9
votes

En utilisant Split en Java et sous-chaîne du résultat

Dupliqué possible: strong>
String Split en Java P>

J'ai cette touche - valeur code>, et je veux les séparer les unes des autres et obtenez-vous comme ci-dessous: P>

String a = "Key"
String b = "Value"


3 commentaires

Avez-vous essayé string.split (...)?


Je suis un développeur PHP, donc c'est un peu différent, mais maintenant je connais mon erreur, il utilisait une citation unique dans la méthode Split


@Salah Yahya: La prochaine fois, essayez de mentionner également ce que vous avez déjà essayé à l'intérieur de la question, de cette façon, il a plus de valeur pour les futurs visiteurs. Je vous encourage même à réécrire cette question afin qu'il indique un peu plus d'effort.


7 Réponses :


11
votes
String[] tok = "Key - Value".split(" - ", 2);
// TODO: check that tok.length==2 (if it isn't, the input string was malformed)
String a = tok[0];
String b = tok[1];
The " - " is a regular expression; it can be tweaked if you need to be more flexible about what constitutes a valid separator (e.g. to make the spaces optional, or to allow multiple consecutive spaces).

0 commentaires

1
votes

quelque chose comme xxx


1 commentaires

diviser(" - "); ;) Merci



6
votes
String[] parts = str.split("\\s*-\\s*");
String a = parts[0];
String b = parts[1];

1 commentaires

+1 Je préfère la regex plus flexible sur "-"



3
votes
int idx = str.indexOf(" - ");
String a = str.substring(0, idx);
String b = str.substring(idx+3, str.length());
split() is a bit more computation intensive than indexOf(), but if you don't need to split billions of times per seconds, you don't care.

0 commentaires

2
votes
String s = "Key - Value";
String[] arr = s.split("-");
String a = arr[0].trim();
String b = arr[1].trim();

0 commentaires

1
votes

comme un peu plus longue alternative: xxx


0 commentaires

2
votes

J'aime utiliser stringutils.substringbefore et stringutils.substringrafter à partir de la bibliothèque de Jakarta Commons Lang de Bibliothèque de Jakarta Bibliothèque.


0 commentaires