|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() |
Bonjour,
J'ai une chaîne de caractère valant "ou=abcd,ou=efgh,ou=ijklmnop etc..." Je veux récupérer plusieurs champ A valant abcd , champ B valant efgh champ C valant ijklmnop. Pour le premier champ A, j'utilise la fonction Substr(IndexOf(ma_chaine,"="),IndexOf(ma_chaine,",") mais ensuite je ne sais pas récupérer les autres champ.. je ne sais pas si il existe une fonction pour connaître l'index de la deuxième occurrence = ? Merci si vous m'aidez |
|
|
00
|
|
|
#2 | ||
|
Membre Expert
![]() Développeur informatique Inscription : avril 2010 Messages : 388 ![]() |
Bonjour,
Tu as plusieurs façons de faire, plus ou moins faciles et élégantes... Si tu arrives à récupérer le premier champ, il te "suffit" de recommencer ta manipulation sur la chaîne restante (après avoir retirer la partie correspondant à ton premier champ), etc. Mais c'est pas super joli, ni efficace... Si le "motif" délimitant tes champs est toujours le même (en l'occurence ou= il semblerait), tu peux utiliser la fonction split() de la classe String. Cela va te créer un tableau dont chaque case contiendra un champ (attention toutefois aux éventuelles "," qui risque de traîner). Code :
Mako. |
||
|
|
10
|
|
|
#3 | ||
|
Membre Expert
![]() ![]() |
1. Tu supprime les "ou="
2. Tu split sur les vigules : Résultat avec la javadoc : Code :
Patrick Kolodziejczyk.
__________________
N'oubliez pas de marquer vos discussions ![]() Si une réponse vous a été utile pensez à voter Pour ![]() Pensez à la javadoc
|
||
|
10
|
|
|
#4 | |||||
![]() ![]() |
Citation:
Code :
__________________
⥀⥁ Чиз faq java, cours java, javadoc. Pensez à et ![]() "Votre génitrice tute des pédoncules au pandémonium" (le conjurateur, 1973) |
|||||
|
|
10
|
|
|
#5 |
|
Expert Confirmé Sénior
![]() Inscription : septembre 2004 Messages : 5 092 ![]() |
Vous savez, c'est du LDAP, et personne n'a jamais dit qu'il ne peut pas y avoir par exemple :
Donc : - D'abord splitter sur "," sans rien avoir à cirer des ou= - Ensuite virer le ou= de devant chaque donnée. Par Exemple avec substring(3) puisque ou= est une String de taille 3. |
|
|
00
|
|
|
#6 | ||||
|
Membre du Club
![]() Claude RICHARDChef de projet NTIC Inscription : novembre 2011 Messages : 50 ![]() |
Utiliser les Pattern permet aussi de parcourir plusieurs lignes et les gros fichiers.
Je pense aux .log qui peuvent atteindre plusieurs millions de lignes en production. Code :
Code :
|
||||
|
|
00
|
|
|
#7 |
|
Expert Confirmé Sénior
![]() Inscription : septembre 2004 Messages : 5 092 ![]() |
|
|
|
00
|
|
|
#8 | |
|
Membre du Club
![]() Claude RICHARDChef de projet NTIC Inscription : novembre 2011 Messages : 50 ![]() |
Citation:
... histoire de ne pas être rappelé par le 'client' par ce que je suis un imbécile qui livre des APIs qui plantent, ... s'il n'en parle pas directement au patron. |
|
|
|
00
|
|
|
#9 |
|
Expert Confirmé Sénior
![]() Inscription : septembre 2004 Messages : 5 092 ![]() |
Et c'est sans doute mieux pour des logs géants au format arbitraire, mais pour une pauvre expression LDAP, c'est sans doute un chouilla plus compliqué que nécessaire.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com