Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
854 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [Java] Isoler proprement un motif dans une String

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Java] Isoler proprement un motif dans une String

n°755878
Jubijub
Parce que je le VD bien
Posté le 08-06-2004 à 10:11:44  profilanswer
 

en gros g une entrée utilisateur dont je dois vérifier la validité.
 
Elle doit etre de la forme :  
Fabricant/Plateforme/
 
- Les / finaux sont optionnels (c facile de détecter si ils manquent et de les rajouter)
- la plateforme en elle même est facultative
- la fabricant comment forcément par une majuscule...
- pour la gag, le fabricant peut contenir des caractères non alphabétiques ( - par exemple, comme Sony-Ericsson)
 
Ex :  
Nokia  (valide)
Nokia/ (valide)
Nokia/s40/ (valide)
Nokia/s40  (valide)
Nokia/s40/6100 (non valide, il ne doit rien y avoir après la plateforme)
nokia (invalide, doit commencer par une majuscule)
Nokia\s40 (invalide, il faut des /)
 
G essayé avec des regexp, mais g tjs que des matches partiels, j'arrive jamais à avoir un match total...
 
Je vois pas comment faire...je fais mumuse avec l'applet de Jakarta ORO depuis tt à l'heure, mais imposible de trouver


---------------
Jubi Photos : Flickr - 500px
mood
Publicité
Posté le 08-06-2004 à 10:11:44  profilanswer
 

n°755946
Jubijub
Parce que je le VD bien
Posté le 08-06-2004 à 10:46:41  profilanswer
 

pour le moment g ça
 
[A-Z]\w+.?\w*/(\w+/?\B)?
 
ca marche à peut près, si ce n'est que la string doit forcément se terminer par /, et je comprends pas pkoi à cause du ? qui dit qu'elle est optionelle normalement...
 
mais au moins elle rejette Nokia/s40/fff, et c ce que je voulais le plus...


---------------
Jubi Photos : Flickr - 500px
n°755952
nraynaud
lol
Posté le 08-06-2004 à 10:50:25  profilanswer
 

Machin ::= Fabricant | Fabricant '/' Plateforme
Fabricant ::= CAPITALE Fabricant_suite
Fabricant_suite ::=  
  | Fabricant_suite
  | CAPITALE
  | MINUSCULE
  | CHIFFRE
Plateforme ::= ...
 
 
un truc du genre quoi.
 


---------------
trainoo.com, c'est fini
n°755990
the real m​oins moins
Posté le 08-06-2004 à 11:12:05  profilanswer
 

euh new StringTokenizer(s, "/", false) ? [:mlc]
suivi de validations "manuelles"? :o


Message édité par the real moins moins le 08-06-2004 à 11:12:29

---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°756015
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 08-06-2004 à 11:18:01  profilanswer
 

the real moins moins a écrit :

euh new StringTokenizer(s, "/", false) ? [:mlc]
suivi de validations "manuelles"? :o


Avec la 1ère validation consistant à regarder si le nombre de tokens est supérieur à 2. Mais pour la deuxième (caractères alphanum seulement), soit tu te tapes une boucle sur les caractères de ta chaîne, soit tu fais une regexp.
Donc ça revient à peu près au même, avec la *légère* différence de savoir si le développeur maîtrise les regexp ou non :o


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°756732
Jubijub
Parce que je le VD bien
Posté le 08-06-2004 à 16:11:28  profilanswer
 

ben c bon en gros g une regexp qui me fournit ca (entre temps le cp a voulu que ca gère les révisions de plateformes)
 
Donc :  
[A-Z]\w+.?\w*/\w+/(\d/\z)?
 
Qui match :  
- Nokia/s40/
- Nokia/s40/1/
 
en fait g bcp progressé depuis que je fais plus confiance à Oro : pour une raison X, ce truc passe avec les regexp de java, pas celle d'Oro...
 
l'avantage de la regexp c qu'en une ligne c torché...si je dois me taper des boucles de char avec des ifs dans tt les sens, je v faire un code largement aussi porcin, et totalement aussi illisible
 


---------------
Jubi Photos : Flickr - 500px
n°756746
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 08-06-2004 à 16:16:14  profilanswer
 

J'dirais quand même pas que c'est moins lisible avec une boucle. Le gars qui connaît Java, il sait "décypter" la boucle même s'il connaît pas les regexp. Par contre, les regexp, à lire... c'est long et chiant et faut un manuel à côté :o


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°756747
the real m​oins moins
Posté le 08-06-2004 à 16:16:18  profilanswer
 

t'as interet à écrire une belle batterie de tests pour prévenir tout dérapage de clavier le jour ou tu modifieras ton code..


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°757218
Jubijub
Parce que je le VD bien
Posté le 08-06-2004 à 22:05:55  profilanswer
 

j'écris tjs la regexp en clair dans un commentaire...
 
--> -- : note pour plus tard : apprendre à faire des tests unitaires (ca a l'air génial et je suis sur que je me ferais moins chier, mais g pas trop le temps en ce moment)


---------------
Jubi Photos : Flickr - 500px
n°757226
the real m​oins moins
Posté le 08-06-2004 à 22:10:18  profilanswer
 

Jubijub a écrit :

j'écris tjs la regexp en clair dans un commentaire...

jusqu'a ce que tu oublies de la mettre à jour.
(demain maxi)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
mood
Publicité
Posté le 08-06-2004 à 22:10:18  profilanswer
 

n°757227
nraynaud
lol
Posté le 08-06-2004 à 22:12:34  profilanswer
 

'tain, je vous propose une super définition sémantique et tout et vous faites de regexes à la con.


---------------
trainoo.com, c'est fini
n°757229
the real m​oins moins
Posté le 08-06-2004 à 22:18:23  profilanswer
 

nraynaud a écrit :

'tain, je vous propose une super définition sémantique et tout et vous faites de regexes à la con.

heho :o
 
 
pis ton truc c'est tout aussi imbitable :o


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°757264
nraynaud
lol
Posté le 08-06-2004 à 22:48:55  profilanswer
 

the real moins moins a écrit :


pis ton truc c'est tout aussi imbitable :o

et ta mère elle^W^W^Wnon rien.
 
 
http://leocat.free.fr/shadok/generalites/images/shadok10.jpg


---------------
trainoo.com, c'est fini
n°757300
darklord
You're welcome
Posté le 08-06-2004 à 23:12:34  profilanswer
 

nraynaud a écrit :

'tain, je vous propose une super définition sémantique et tout et vous faites de regexes à la con.


 
bin elle est nickel c'est sur mais bon a mon avis il préfèrerait un bout de code tu vois [:itm]

n°757305
nraynaud
lol
Posté le 08-06-2004 à 23:16:40  profilanswer
 

DarkLord a écrit :

bin elle est nickel c'est sur mais bon a mon avis il préfèrerait un bout de code tu vois [:itm]

ça prend 15s à traduire en CPS ça /o\


---------------
trainoo.com, c'est fini
n°757799
Jubijub
Parce que je le VD bien
Posté le 09-06-2004 à 13:53:13  profilanswer
 

j'y connais rien à tes trucs :D  
 
Pis vu les contraintes qu'a rajouté le CP sur une def de plateforme, une regexp = 1 ligne, en code ca me prendrait surement 30 lignes....


---------------
Jubi Photos : Flickr - 500px

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [Java] Isoler proprement un motif dans une String

 

Sujets relatifs
[C++] Pas de copie lors de l'affectation entre objets string?Java-Oracle et JSp besoin d'aide [RESOLU]
[J2ME] Lancement du navigateur Palm depuis JAVA[java] Vous préfixez vos variables pour en déterminer la portée?
[Java] JEditorPane : pourquoi "white-space:nowrap;" laisse une ligne b[Websphere] fonction split() de la classe String non implémenté ?
QUEL EST LE MEILLEUR CHOIX d'AGL ORIENTE JAVA ?je n'arrive plus à exécuter un java
java et commandes du système[Java] Exception : qu'est-ce qu'il est propre de faire ?
Plus de sujets relatifs à : [Java] Isoler proprement un motif dans une String


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR