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);
- Vli product string - Forum Disque dur / SSD
- Papa du string v2 ✓ - Forum Excel
- Problème avec les string - Forum C++
- Vba string to date ✓ - Forum VB / VBA
- String index out of range traduction - Forum Python
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.