VIVEZ LE
FOOTBALL !

Posez votre question Signaler

Java suppression lettres dans String

JeanJean - Dernière réponse le 14 sept. 2008 à 19:39
Bonjour,
J'ai une String (en java) et j'aimerai retirer de cette String tous les caractères qui ne sont pas des chiffres.
ex: String_de_Départ = "12zer45aaz43" --> String_darrive = "124543"
merci de votre aide
Lire la suite 

Java suppression lettres dans String »

8 réponses
Réponse
+7
moins plus
sinon pour faire simple, une expression reguliere (voir ftp://ftp-developpez.com/cyberzoide/java/regex.pdf) :

String text = "12zer45aaz43";
text=text.replaceAll("\\D+","");
Ajouter un commentaire
Réponse
+2
moins plus
Voilà une solution :
package test.regex;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class ExpReg {
	public static void main(String[] args) {
		Pattern p = Pattern.compile("[0-9]*");
		Matcher m = p.matcher("12zer45aaz43");
		StringBuffer sb = new StringBuffer();
		while (m.find()) {
			String texte = m.group();
			if (!texte.equals(""))
				sb.append(texte);
		}
		System.out.println(sb.toString());
	}
}
Bonne continuation ;-)
Ajouter un commentaire
Réponse
+1
moins plus
Merci velderama ta méthode marche bien,
dsl =[Cvrd]=Tassin je n'ai pas testé la tienne
velderama- 10 avril 2008 à 10:01
Au plaisir... ;)
Ajouter un commentaire
Réponse
+1
moins plus
par contre declare tes variables avant le "for"(c'est plus propre...) j'ai pas eu le temps de le faire ! :)
char c;
int castC ;
string motfinal;
for(int i=0 ; i<string_depart.length;i++){
c= string_depart.chartAt(i);
castC =(int)c;//on recupere son code ascii 
...
Ajouter un commentaire
Réponse
+1
moins plus
La solution de velderama est correcte sauf si la table ASCII change de code un jour... A bon entendeur...

(PS : N'oublie pas de passer ton post en "Résolu")
Ajouter un commentaire
Réponse
+1
moins plus
sinon pour faire simple une expression reguliere (voir ftp://ftp-developpez.com/cyberzoide/java/regex.pdf) :

String text = "12zer45aaz43";
text=text.replaceAll("\\D+","");
Ajouter un commentaire
Réponse
+0
moins plus
Essaie ceci
string motfinal;
for(int i=0 ; i<string_depart.length;i++){
char c= string_depart.chartAt(i);
int castC =(int)c;//on recupere son code ascii 
if(castC<=057 && castC>=48)//le code ascii des entiers 0 a 9
{motfinal = motfinal+c;//ajout du caractere dans la chaine
}
}


un lien pour le code ascii des caracteres http://www.chez.com/cosmos2000/Nombres/ASCII.html
Par contre j'ai pas tester car ca fait longtemps que je ne fais plus de java mais c'est dans cette voie la!

Bonne chance
Ajouter un commentaire
Ce document intitulé « java suppression lettres dans String » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?