Java suppression lettres dans String

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
Configuration: Windows XP
Firefox 1.5.0.12

7 réponses

  1. 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 ;-)
    1. 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 
      ...
      
      1. Merci velderama ta méthode marche bien,
        dsl =[Cvrd]=Tassin je n'ai pas testé la tienne
        1. Au plaisir... ;)
      2. 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")
        1. 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://cosmos2000.chez.com/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