Bonjour je reçois cette valeur de type String
j aimerai supprimer les espaces pour ensuite manipuler cette stringCode:String toto =300 000 000;
lla fonction trim je correspond pas
auriez-vous une iee?
Version imprimable
Bonjour je reçois cette valeur de type String
j aimerai supprimer les espaces pour ensuite manipuler cette stringCode:String toto =300 000 000;
lla fonction trim je correspond pas
auriez-vous une iee?
Salut,
Regarde la méthode replaceAll de la classe String
remplacer les espaces blancs par rien?Code:
1
2 maChaine = maChaine.replaceAll("\\[" "\\]", "");
Bonjour,
trim supprime les eventuels espaces qui serait au debut ou a lafin de la chaine.
Cordialement.
Dan
Tu a la function split aussi qui peut etre pratique ^^
si tu fais quelque chose comme sa:
sa te decoupe ton string a tout caractere n'etant pas un chiffre et te le replace a la suite dans un autre string (date ici dans l'exemple)Code:
1
2
3 //tebdate est le nom du string dans l'exemple tabdate=date.split("\\D");
ps si tu mets split("\\d") sa te fais pareil mais sa t'enleve tout ce qui est chiffre a l'inverse de l'autre :mouarf:
split lui enlevera automatiquement tous les caracteres (dont les vides ) qui ne sont pas des chiffre a condition d'ultiliser le ("\\D")
sur et certain je m'en suis servis plus d'une fois
je ne pretends pas en savoir autemps que toi en java mais la je suis plustot sur de moi :P
non une seule chaine qu'il stoque dans un string basique
en fait sa lui crera un string egal a celui de depart mais ayant garde uniquement les elements qui sont des chiffres
et comme dit en remplacant ("\\D") par ("\\d") sa lui enlevera toutes les elements qui sont pas des caractheres
j'ai trouve sa tres util entre autre si tu a une chaine qui peut varier entre
26/01/2008 et 26 01 2008 car la meme commande lui donnera le resiltat shouaité :mouarf:
a savoir 26012008 par exemple ici
il y a certainement d'autres methodes mais celle ci me parais parmis les plus simples ^^
euh ..... j'ai beau chercher dans la doc :
Ca a changé en 1.5 (que je ne connais pas) ??Code:
1
2
3
4 String[] split(String regex) Splits this string around matches of the given regular expression. String[] split(String regex, int limit) Splits this string around matches of the given regular expression.
En tout cas, si ca fonctionne tel que tu l'as décrit, je suis bluffé et perplexe ( et tres tres décu du java par la même occasion, ca va à l'encontre de ma conception de ses fonctions)
[ ou alors j'ai raté un gros truc]
€IN-LESER, ta méthode renvoi un tableau {26, 01, 2008} et ce aussi bien pour "26 01 2008" et "26/01/2008" donc c'est très bien si on ne connait pas le séparateur. Mais il faut ensuite reconcaténer les chaînes du tableau pour en faire une seule. Cela me paraît superflux puisqu'ici il demande de supprimer les espaces uniquement.
Le mieu dans ce cas précis est bien :Code:maChaine = maChaine.replaceAll(" ","");
tu a raison dans le sens ou sa renvois un tableau (qui est vite concatene ^^)
mais il est vrai que c'est le plus util quand tu risque d'avoir des separateurs differents (comme lors d'une saisie libre d'un user)
Je m'avous vaincus :cry:
Comme dit precedament, je n'ai pas la pretention d'en conaitre autemps que vous sur le sujet de la prog et ne voulais qu'aider un peux :oops:
Merci en tout cas pour vos mesages ^^
je testerais l'autre methode la prochaine fois
++
Ta méthode a son utilité également, et je ne la connaissais pas.
Je n'ai pas la prétention d'en connaitre plus que toi, on ne fait qu'exposer nos méthodes ;)
Pour éviter les saisies libres à l'utilisateur, il peut être intéressant d'utiliser un JFormattedTextField
C'est possible aussi avec split() mais ce n'est pas le but premier.
Pour remplacer/supprimer des chaines par d'autres, replaceAll() est nettement mieux adapté...
Par exemple pour supprimer tout ce qui n'est pas un chiffre :
:arrow: On peut difficilement faire plus simple...Code:chaine = chaine.replaceAll("\\D", "");
a++
Hello,
Sinon en utilisant l'api commons lang, il existe une methode dédiée à ça :
StringUtils.deleteWhiteSpace(String)
ça permettra peut être de ne pas réinventer la poudre :D;)
merci je vais essayer.