Pb avec data.indexof(String string);
Comprend pas pk
-
KX Messages postés 19031 Statut Modérateur -
KX Messages postés 19031 Statut Modérateur -
Bonjour,
J'ai un problème dans mon programme en java.
J'ai une chaine type String composée :data = adresse ip + " " + Le jj/mm/aa hh:mm
Dans mon programme, j'ai besoin de récupérer l'adresse ip:
data.substring(0,data.indexOf(" ")); //Recup de la position 0 jusqu'au 1er espace
D'un autre côté j'ai besoin de recupérer la date et l'heure:
data.substring(data.indexOf("L")); //Récupérer la chaine à partir du "L"
MAIS lors de la récupération de la date et de l'heure je me retrouve avec l'adresse IP ??
J'ai le même résultat avec les deux façons de faire ?
Merci de vos réponses
Cordialement
J'ai un problème dans mon programme en java.
J'ai une chaine type String composée :data = adresse ip + " " + Le jj/mm/aa hh:mm
Dans mon programme, j'ai besoin de récupérer l'adresse ip:
data.substring(0,data.indexOf(" ")); //Recup de la position 0 jusqu'au 1er espace
D'un autre côté j'ai besoin de recupérer la date et l'heure:
data.substring(data.indexOf("L")); //Récupérer la chaine à partir du "L"
MAIS lors de la récupération de la date et de l'heure je me retrouve avec l'adresse IP ??
J'ai le même résultat avec les deux façons de faire ?
Merci de vos réponses
Cordialement
A voir également:
- Pb avec data.indexof(String string);
- System.io.__error.winioerror(int32 errorcode, string maybefullpath) - Forum Windows
- Papa du string v2 ✓ - Forum Excel
- Uninitialized string offset ✓ - Forum PHP
- Eol while scanning string literal ✓ - Forum Python
- Vli product string - Forum C++
String data = "192.168.1.1 Le 01/01/2016";
String ip = data.substring(0,data.indexOf(" "));
String date = data.substring(data.indexOf("L"));
Et les variables ip et date renvoient la même chose, et je sait pas pourquoi.
Merci
Cependant, ip renvoie bien "192.168.1.1" et date "Le 01/01/2016" comme attendu.
Ton problème doit être plus loin, peut-être à l'affichage de ip et date...
Remarque :
Plutôt qu'utiliser substring tu peux faire mieux avec des expressions régulières.
Exemple :
String data = "192.168.1.1 Le 01/01/2016"; String regex = "((\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)) ((\\D+)((\\d+)/(\\d+)/(\\d+)))"; // import java.util.regex.* Matcher matcher = Pattern.compile(regex).matcher(data); matcher.matches(); for (int i = 0; i <= matcher.groupCount(); i++) { System.out.printf("group %d:\t%s\n", i, matcher.group(i)); }Ce qui donne :
Voir la documentation de java.util.regex.Pattern pour le format de regex.