begin process at 2012 02 15 14:30:38
  Trouver un code source :
 
dans
 
Accueil > Forum > 

JAVA / J2EE / J2ME

 > 

Divers

 > 

Général

 > 

Remplacement de caractères


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Remplacement de caractères

mardi 10 avril 2007 à 16:37:32 | Remplacement de caractères

le_totophe

Membre Club
Bonjour à tous,

j'ai besoin d'un petit coup de pouce:
j'ai la fonction suivante:

public static String remplacer(String str, String ancien, String nouveau)
{
    return str.replaceAll(ancien, nouveau);
}

Cette fonction est utilisée pour permettre à Derby de faire des recherches sur des numéros de téléphone pouvant être saisis sous des mises en formes différentes mais qui dans tous les cas n'acceptent que des chiffres, des espaces ou des points.

Le problème est que quand j'essaye (même directement depuis un JTextField) de faire remplacer un point, la fonction par en cacahuète.

Concrètement, lorsque j'appelle cette fonction avec les valeurs suivantes:
str: "06.12.34.56.78"
ancien: "."
nouveau: "A" ou "" ou n'importe quoi

Je dervais obtenir par exemple avec "A" la chaine "06A12A34A56A78" et pourtant ce que j'obtiens c'est "AAAAAAAAAAAAAA".

Merci d'avance pour vos réponses éclairées.

mardi 10 avril 2007 à 16:47:35 | Re : Remplacement de caractères

Anthed

Hello.

Essaie plutôt : str.replace(ancien, nouveau);

Tchô.
mardi 10 avril 2007 à 17:31:56 | Re : Remplacement de caractères

Fifan

Membre Club
Réponse acceptée !
Ton Pb avec replaceAll vient du fait que le 1er argument est une expression régulière.
Et le caractère "." (point) est un caractère spécial qui veut dire "n'importe quel caractère".
Aussi, il remplace tous les caratères par ton nouveau "A".
Si tu veux utiliser replaceAll avec le caractère ".", il te faut le déspécialiser en le faisant précéder d'un "\".
Or, "\" est lui aussi un caractère spécial qu'il te faut déspécialiser.
Au final, il te faut str.replaceAll("\\.","A");

La  solution donnée  par Anthed  te donne le résultat que tu attend car  la méthode  replace remplace un caractère ou une séquence de caractères et non pas une expression régulière comme replaceAll.

mardi 10 avril 2007 à 17:36:52 | Re : Remplacement de caractères

le_totophe

Membre Club
Salut et merci,

effectivement, celà fonctionne...

Merci encore


Cette discussion est classée dans : fonction, string, str, remplacement, ancien


Répondre à ce message

Sujets en rapport avec ce message

paramètres d'une fonction [ par guipo ] Je ne sais pas comment faire pour que ma fonction retourne un paramètre (comme avec "return" en c)Ma déclaration est la suivante : public String ReadC Re : paramètre d'une fonction [ par guipo ] Suite à mon problème de renvoie de paramètre de ma méthode, j'ai essayé return mais j'ai un pb :erreur java : "missing return statement"bout de code fonction encode de URLEncoder [ par MarsL ] je n'arrive pas a utiliser la fct encode s ke qq'1 peut me donner un exemple avec les import appropriesex:str_description : string a encoderstr_descri remplacement dans un string [ par jc_romeo ] Bonjourje sais que c'est une question très bête et que vous avez déjà du y répondre des dizaines de fois mais comment est ce que l'on peut remplacer d conversion string vers string[] [ par ikbpresident84 ] et c est encore moi qui a des heure tardive de la nuit ne trouve plus les solutions les plus simple.....bref si quelqu un pouvais me dire comment tran read file tout simple [ par Syruis ] Bonjour, Voila ma méthode: public static void readFile(String f) {         String[] data = null;         data = new String[100];//ligne que sinon ca explication fonction [ par amel2006 ] bonjour ; j'ai une foction que j'ai pas compris son contenue pouvez vous me donner une explication la fonction est str = preg_replace("/^\\s+(\\S)/s Remplacement d'un mot par le renvoi d'une fonction dans un string [ par tenev911 ] Bonjour, J'ai un problème plutot génant, j'ai posté ce sujet sur developpez.com sans grand résultat, j'aurai surement plus de chance ici :) J'ai act Appel d'une classe avec contrainte dans une fonction [ par fraisa1985 ] Salut a tous,mon probleme est la suivante:J'ai une classe qui contient deux champs texte(JTextField) et une bouton oklorsque je clique sur le bouton o code non exe [ par salatino ] /* SVP aider moi à rendre cet code exécutable. J'ai essayé et je n'ai pas réussi*/ import java.io.*; import java.util.*; public class FormatDate {


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,452 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales