Rechercher : dans
Par :

Java suppression lettres dans String

Dernière réponse le 14 sep 2008 à 19:39:36 JeanJean, le 9 avr 2008 à 11:53:42 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « java suppression lettres dans String » dans :
Supprimer les anciennes versions de Java avec JavaRa VoirJavaRa A propos de la gestion des machines virtuelles Java Présentation de JavaRa Exemple de rapport émis par JavaRa A propos de la gestion des machines virtuelles Java Pour des mises à jour ciblées de java Sun a finalement donné une...
Supprimer les accents avec PHP VoirPour un tas de raisons, il est parfois utile de convertir un texte accentué en un texte sans accents. Voici une fonction permettant de transformer très simplement la quasi-totalité des accents en leur équivalent non-accentués : function...
Décaler les éléments d'un tableau (Rotation) -Récursivité- VoirVoici une procédure récursive qui permet de décaler tous les éléments d’un tableau d’une position à droite à partir de la position p Procedure Decaler (Var t : Tab; p, n : integer); Begin If p
Javascript - Les chaînes de caractères VoirQu'est-ce qu'une chaîne de caractère Une chaîne de caractère est, comme son nom l'indique, une suite de caractères. On la représente par la suite de caractères encadrée par des guillemets simples (') ou doubles ("), sachant que les deux types de...
Les classes Java VoirLa notion d'objet Le langage Java intègre fortement le concept objet, il s'agit donc d'un langage orienté objet (LOO). Le terme langage orienté objet est plus qu'une simple appellation de plus pour désigner un type de langage, il...

1

velderama, le 9 avr 2008 à 12:23:53

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 Only God Can Judge Us (ps: n'oubliez pas de cocher "probleme resolu " si c'est le cas ^_^)

Répondre à velderama

2

=[Cvrd]=Tassin, le 9 avr 2008 à 13:35:39

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 ;-) -- Alex pour vous servir --

-- N'oubliez pas de mettre vos sujets en "Résolu" lorsque vous avez la réponse ;-) --

Répondre à =[Cvrd]=Tassin

3

JeanJean, le 10 avr 2008 à 08:29:12

Merci velderama ta méthode marche bien,
dsl =[Cvrd]=Tassin je n'ai pas testé la tienne

Répondre à JeanJean

4

velderama, le 10 avr 2008 à 10:01:45

Au plaisir... ;) Only God Can Judge Us (ps: n'oubliez pas de cocher "probleme resolu " si c'est le cas ^_^)

Répondre à velderama

5

velderama, le 10 avr 2008 à 10:08:54

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 
...
Only God Can Judge Us (ps: n'oubliez pas de cocher "probleme resolu " si c'est le cas ^_^)

Répondre à velderama

6

=[Cvrd]=Tassin, le 10 avr 2008 à 10:32:41

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") -- Alex pour vous servir --

-- N'oubliez pas de mettre vos sujets en "Résolu" lorsque vous avez la réponse ;-) --

Répondre à =[Cvrd]=Tassin

7

zazzou, le 14 sep 2008 à 19:37:39
  • +2

Sinon pour faire simple, une expression reguliere (voir ftp://ftp-developpez.com/cyberzoide/java/regex.pdf) :

String text = "12zer45aaz43";
text=text.replaceAll("\\D+","");

Répondre à zazzou

8

 zazzou, le 14 sep 2008 à 19:39:36

Sinon pour faire simple une expression reguliere (voir ftp://ftp-developpez.com/cyberzoide/java/regex.pdf) :

String text = "12zer45aaz43";
text=text.replaceAll("\\D+","");

Répondre à zazzou