Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Remplacement de caractères [ Divers / Général ] (le_totophe)

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é 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 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 { Optimiser vitesse de lectuere d'un fichier [ par AngelOfErian ] Boujour à tous, Je suis en train de développer une application pour analyser des fichier de log. Ces fichiers on une taille assez importante (entre 4


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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
Temps d'éxécution de la page : 1,669 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.