Je voudrais utiliser la méthode split() de la classe String.
Le code suivant (très simple) me retourne bien ce que je veux .. à
savoir : a b c (tokens=[a, b, c])
public static void main(String[] args) {
String s = "a,,b,,c";
String[] tokens = s.trim().split(",,");
for (int i = 0; i < tokens.length; i++) {
System.out.println(tokens[i]);
}
}
Par contre, si maintenant la chaine s vaut "a..b..c" et que j'applique
la méthode s.trim().split("..") ... je n'obtiens absolument pas le même
résultat (tokens=[, , , c])
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Kupee
Bonjour à tous,
Je voudrais utiliser la méthode split() de la classe String. Le code suivant (très simple) me retourne bien ce que je veux .. à savoir : a b c (tokens=[a, b, c])
public static void main(String[] args) { String s = "a,,b,,c"; String[] tokens = s.trim().split(",,"); for (int i = 0; i < tokens.length; i++) { System.out.println(tokens[i]); } }
Par contre, si maintenant la chaine s vaut "a..b..c" et que j'applique la méthode s.trim().split("..") ... je n'obtiens absolument pas le même résultat (tokens=[, , , c])
Avez vous une idée ?
merci d'avance
Oui la méthode split prend une regexp et . représente n'importe quel caractère. Essaye avec string.split("..")
Bonjour à tous,
Je voudrais utiliser la méthode split() de la classe String.
Le code suivant (très simple) me retourne bien ce que je veux .. à
savoir : a b c (tokens=[a, b, c])
public static void main(String[] args) {
String s = "a,,b,,c";
String[] tokens = s.trim().split(",,");
for (int i = 0; i < tokens.length; i++) {
System.out.println(tokens[i]);
}
}
Par contre, si maintenant la chaine s vaut "a..b..c" et que j'applique
la méthode s.trim().split("..") ... je n'obtiens absolument pas le même
résultat (tokens=[, , , c])
Avez vous une idée ?
merci d'avance
Oui la méthode split prend une regexp et . représente n'importe quel
caractère. Essaye avec string.split("\.\.")
Je voudrais utiliser la méthode split() de la classe String. Le code suivant (très simple) me retourne bien ce que je veux .. à savoir : a b c (tokens=[a, b, c])
public static void main(String[] args) { String s = "a,,b,,c"; String[] tokens = s.trim().split(",,"); for (int i = 0; i < tokens.length; i++) { System.out.println(tokens[i]); } }
Par contre, si maintenant la chaine s vaut "a..b..c" et que j'applique la méthode s.trim().split("..") ... je n'obtiens absolument pas le même résultat (tokens=[, , , c])
Avez vous une idée ?
merci d'avance
Oui la méthode split prend une regexp et . représente n'importe quel caractère. Essaye avec string.split("..")
Cenekemoi
Bonjour à tous,
Je voudrais utiliser la méthode split() de la classe String. Le code suivant (très simple) me retourne bien ce que je veux .. à savoir : a b c (tokens=[a, b, c])
public static void main(String[] args) { String s = "a,,b,,c"; String[] tokens = s.trim().split(",,"); for (int i = 0; i < tokens.length; i++) { System.out.println(tokens[i]); } }
Par contre, si maintenant la chaine s vaut "a..b..c" et que j'applique la méthode s.trim().split("..") ... je n'obtiens absolument pas le même résultat (tokens=[, , , c])
Avez vous une idée ?
Oui, j'en ai une...
"split" fait appel à une expression régulière et pas à une chaîne de caractères !
cf. http://www.rgagnon.com/javadetails/java-0438.html pour un exemple avec des points.
-- Cordialement, Thierry ;-)
Bonjour à tous,
Je voudrais utiliser la méthode split() de la classe String.
Le code suivant (très simple) me retourne bien ce que je veux .. à
savoir : a b c (tokens=[a, b, c])
public static void main(String[] args) {
String s = "a,,b,,c";
String[] tokens = s.trim().split(",,");
for (int i = 0; i < tokens.length; i++) {
System.out.println(tokens[i]);
}
}
Par contre, si maintenant la chaine s vaut "a..b..c" et que j'applique
la méthode s.trim().split("..") ... je n'obtiens absolument pas le
même résultat (tokens=[, , , c])
Avez vous une idée ?
Oui, j'en ai une...
"split" fait appel à une expression régulière et pas à une chaîne de
caractères !
cf. http://www.rgagnon.com/javadetails/java-0438.html pour un exemple
avec des points.
Je voudrais utiliser la méthode split() de la classe String. Le code suivant (très simple) me retourne bien ce que je veux .. à savoir : a b c (tokens=[a, b, c])
public static void main(String[] args) { String s = "a,,b,,c"; String[] tokens = s.trim().split(",,"); for (int i = 0; i < tokens.length; i++) { System.out.println(tokens[i]); } }
Par contre, si maintenant la chaine s vaut "a..b..c" et que j'applique la méthode s.trim().split("..") ... je n'obtiens absolument pas le même résultat (tokens=[, , , c])
Avez vous une idée ?
Oui, j'en ai une...
"split" fait appel à une expression régulière et pas à une chaîne de caractères !
cf. http://www.rgagnon.com/javadetails/java-0438.html pour un exemple avec des points.
-- Cordialement, Thierry ;-)
DM
Merci beaucoup ... ca fonctionne à merveille ;-) A ce sujet sais tu ou peut on trouver un bon tutoriel sur les regexp ?
merci encore DM
Bonjour à tous,
Je voudrais utiliser la méthode split() de la classe String. Le code suivant (très simple) me retourne bien ce que je veux .. à savoir : a b c (tokens=[a, b, c])
public static void main(String[] args) { String s = "a,,b,,c"; String[] tokens = s.trim().split(",,"); for (int i = 0; i < tokens.length; i++) { System.out.println(tokens[i]); } }
Par contre, si maintenant la chaine s vaut "a..b..c" et que j'applique la méthode s.trim().split("..") ... je n'obtiens absolument pas le même résultat (tokens=[, , , c])
Avez vous une idée ?
merci d'avance
Oui la méthode split prend une regexp et . représente n'importe quel caractère. Essaye avec string.split("..")
Merci beaucoup ... ca fonctionne à merveille ;-)
A ce sujet sais tu ou peut on trouver un bon tutoriel sur les regexp ?
merci encore
DM
Bonjour à tous,
Je voudrais utiliser la méthode split() de la classe String.
Le code suivant (très simple) me retourne bien ce que je veux .. à
savoir : a b c (tokens=[a, b, c])
public static void main(String[] args) {
String s = "a,,b,,c";
String[] tokens = s.trim().split(",,");
for (int i = 0; i < tokens.length; i++) {
System.out.println(tokens[i]);
}
}
Par contre, si maintenant la chaine s vaut "a..b..c" et que j'applique
la méthode s.trim().split("..") ... je n'obtiens absolument pas le
même résultat (tokens=[, , , c])
Avez vous une idée ?
merci d'avance
Oui la méthode split prend une regexp et . représente n'importe quel
caractère. Essaye avec string.split("\.\.")
Merci beaucoup ... ca fonctionne à merveille ;-) A ce sujet sais tu ou peut on trouver un bon tutoriel sur les regexp ?
merci encore DM
Bonjour à tous,
Je voudrais utiliser la méthode split() de la classe String. Le code suivant (très simple) me retourne bien ce que je veux .. à savoir : a b c (tokens=[a, b, c])
public static void main(String[] args) { String s = "a,,b,,c"; String[] tokens = s.trim().split(",,"); for (int i = 0; i < tokens.length; i++) { System.out.println(tokens[i]); } }
Par contre, si maintenant la chaine s vaut "a..b..c" et que j'applique la méthode s.trim().split("..") ... je n'obtiens absolument pas le même résultat (tokens=[, , , c])
Avez vous une idée ?
merci d'avance
Oui la méthode split prend une regexp et . représente n'importe quel caractère. Essaye avec string.split("..")
Hervé AGNOUX
DM wrote:
A ce sujet sais tu ou peut on trouver un bon tutoriel sur les regexp ?
http://cyberzoide.developpez.com/java/regex/
-- Hervé AGNOUX http://www.diaam-informatique.com
DM wrote:
A ce sujet sais tu ou peut on trouver un bon tutoriel sur les regexp ?
A ce sujet sais tu ou peut on trouver un bon tutoriel sur les regexp ?
http://cyberzoide.developpez.com/java/regex/
-- Hervé AGNOUX http://www.diaam-informatique.com
cilovie
Sans regexp voir http://jakarta.apache.org/commons/lang/api-release/org/apache/commons/lang/StringUtils.html#split(java.lang.String,%20char)
commons-lang un régal d'outils
Bonjour à tous,
Je voudrais utiliser la méthode split() de la classe String. Le code suivant (très simple) me retourne bien ce que je veux .. à savoir : a b c (tokens=[a, b, c])
public static void main(String[] args) { String s = "a,,b,,c"; String[] tokens = s.trim().split(",,"); for (int i = 0; i < tokens.length; i++) { System.out.println(tokens[i]); } }
Par contre, si maintenant la chaine s vaut "a..b..c" et que j'applique la méthode s.trim().split("..") ... je n'obtiens absolument pas le même résultat (tokens=[, , , c])
Avez vous une idée ?
merci d'avance
DM
Sans regexp voir
http://jakarta.apache.org/commons/lang/api-release/org/apache/commons/lang/StringUtils.html#split(java.lang.String,%20char)
commons-lang un régal d'outils
Bonjour à tous,
Je voudrais utiliser la méthode split() de la classe String.
Le code suivant (très simple) me retourne bien ce que je veux .. à
savoir : a b c (tokens=[a, b, c])
public static void main(String[] args) {
String s = "a,,b,,c";
String[] tokens = s.trim().split(",,");
for (int i = 0; i < tokens.length; i++) {
System.out.println(tokens[i]);
}
}
Par contre, si maintenant la chaine s vaut "a..b..c" et que j'applique
la méthode s.trim().split("..") ... je n'obtiens absolument pas le même
résultat (tokens=[, , , c])
Sans regexp voir http://jakarta.apache.org/commons/lang/api-release/org/apache/commons/lang/StringUtils.html#split(java.lang.String,%20char)
commons-lang un régal d'outils
Bonjour à tous,
Je voudrais utiliser la méthode split() de la classe String. Le code suivant (très simple) me retourne bien ce que je veux .. à savoir : a b c (tokens=[a, b, c])
public static void main(String[] args) { String s = "a,,b,,c"; String[] tokens = s.trim().split(",,"); for (int i = 0; i < tokens.length; i++) { System.out.println(tokens[i]); } }
Par contre, si maintenant la chaine s vaut "a..b..c" et que j'applique la méthode s.trim().split("..") ... je n'obtiens absolument pas le même résultat (tokens=[, , , c])
Avez vous une idée ?
merci d'avance
DM
konavab86
DM a écrit le 11/05/2006 à 14h54 :
Bonjour à tous,
Je voudrais utiliser la méthode split() de la classe String. Le code suivant (très simple) me retourne bien ce que je veux .. à savoir : a b c (tokens=[a, b, c])
public static void main(String[] args) { String s = "a,,b,,c"; String[] tokens = s.trim().split(",,"); for (int i = 0; i < tokens.length; i++) { System.out.println(tokens[i]); } }
Par contre, si maintenant la chaine s vaut "a..b..c" et que j'applique la méthode s.trim().split("..") ... je n'obtiens absolument pas le même résultat (tokens=[, , , c])
Avez vous une idée ?
merci d'avance
DM
en effet le caractère . est un caractère spécial donc difficile à gérer avec les methodes de manipulation de caractère comme split . en effet l'astuce c'est d'utiliser la methode replace pour écraser les .. par ,, et ensuite appliquer le split voila le code il marche parfaitement String s="a..b..c"; String rep=s.replace("..",",,"); //cette partie remplace tous les .. par ,, String rec[]=rep.slim().split(",,"); for(int i=0;i<rec.length;i++) { System.out.println(rec[i]); }
DM a écrit le 11/05/2006 à 14h54 :
Bonjour à tous,
Je voudrais utiliser la méthode split() de la classe String.
Le code suivant (très simple) me retourne bien ce que je veux ..
à
savoir : a b c (tokens=[a, b, c])
public static void main(String[] args) {
String s = "a,,b,,c";
String[] tokens = s.trim().split(",,");
for (int i = 0; i < tokens.length; i++) {
System.out.println(tokens[i]);
}
}
Par contre, si maintenant la chaine s vaut "a..b..c" et que
j'applique
la méthode s.trim().split("..") ... je n'obtiens absolument
pas le même
résultat (tokens=[, , , c])
Avez vous une idée ?
merci d'avance
DM
en effet le caractère . est un caractère spécial donc difficile à gérer avec les methodes de manipulation de caractère comme split . en effet l'astuce c'est d'utiliser la methode replace pour écraser les .. par ,, et ensuite appliquer le split voila le code il marche parfaitement
String s="a..b..c";
String rep=s.replace("..",",,"); //cette partie remplace tous les .. par ,,
String rec[]=rep.slim().split(",,");
for(int i=0;i<rec.length;i++)
{
System.out.println(rec[i]);
}
Je voudrais utiliser la méthode split() de la classe String. Le code suivant (très simple) me retourne bien ce que je veux .. à savoir : a b c (tokens=[a, b, c])
public static void main(String[] args) { String s = "a,,b,,c"; String[] tokens = s.trim().split(",,"); for (int i = 0; i < tokens.length; i++) { System.out.println(tokens[i]); } }
Par contre, si maintenant la chaine s vaut "a..b..c" et que j'applique la méthode s.trim().split("..") ... je n'obtiens absolument pas le même résultat (tokens=[, , , c])
Avez vous une idée ?
merci d'avance
DM
en effet le caractère . est un caractère spécial donc difficile à gérer avec les methodes de manipulation de caractère comme split . en effet l'astuce c'est d'utiliser la methode replace pour écraser les .. par ,, et ensuite appliquer le split voila le code il marche parfaitement String s="a..b..c"; String rep=s.replace("..",",,"); //cette partie remplace tous les .. par ,, String rec[]=rep.slim().split(",,"); for(int i=0;i<rec.length;i++) { System.out.println(rec[i]); }