Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1528 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [JAVA] Pbl de recherche d occurences

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[JAVA] Pbl de recherche d occurences

n°145938
titi76
Posté le 28-05-2002 à 10:49:49  profilanswer
 

Salut à vous,
 
je voudrais effectuer des recherches d occurences ds un String, pour remplacer certaines chaines...
 
avec la version 1.4 il y a String.replaceAll(String, String);
 
Mais avec la version 1.2 ca ne marche pas.
 
Donc j ai créé la fonction a la main : avec des indexOf et substring...
 
Le probleme est que si je recherche le mot java, la recherche tient compte de la casse. c a d que toutes les occurences de <b>J</b>ava sont ignorées.
Alors comment faire pour ignorer la casse ds ma recherche ???
 
Merci a vous  
Titi ;-}

mood
Publicité
Posté le 28-05-2002 à 10:49:49  profilanswer
 

n°145942
El_gringo
Posté le 28-05-2002 à 10:53:42  profilanswer
 

titi76 a écrit a écrit :

Salut à vous,
 
je voudrais effectuer des recherches d occurences ds un String, pour remplacer certaines chaines...
 
avec la version 1.4 il y a String.replaceAll(String, String);
 
Mais avec la version 1.2 ca ne marche pas.
 
Donc j ai créé la fonction a la main : avec des indexOf et substring...
 
Le probleme est que si je recherche le mot java, la recherche tient compte de la casse. c a d que toutes les occurences de <b>J</b>ava sont ignorées.
Alors comment faire pour ignorer la casse ds ma recherche ???
 
Merci a vous  
Titi ;-}  




 
Et le méthode replace de StringBuffer, c pas bien !?

n°145954
titi76
Posté le 28-05-2002 à 11:00:01  profilanswer
 

connais pas
je regarde et te dis apres
merci

n°145964
benou
Posté le 28-05-2002 à 11:13:17  profilanswer
 

el_gringo a écrit a écrit :

 
Et le méthode replace de StringBuffer, c pas bien !?  




bha ca a un peut rien à voir ...
 
sinon pour ton problème, bha ca dépend de la façon dont tu as écrit ta méthode ... mais j'imagine qu'à un moment tu testes l'égalité de caractères. Plutot que de faire un bête ==, tu fais une Character.toLowerCase(char1) == Character.toLowerCase(char2)


---------------
ma vie, mon oeuvre - HomePlayer
n°145967
El_gringo
Posté le 28-05-2002 à 11:16:06  profilanswer
 

benou a écrit a écrit :

 
bha ca a un peut rien à voir ...
 
sinon pour ton problème, bha ca dépend de la façon dont tu as écrit ta méthode ... mais j'imagine qu'à un moment tu testes l'égalité de caractères. Plutot que de faire un bête ==, tu fais une Character.toLowerCase(char1) == Character.toLowerCase(char2)  




 
Ha ouais.
Désolé pour le faux espoir à toi titi... :jap:

n°145972
titi76
Posté le 28-05-2002 à 11:22:52  profilanswer
 

et non ca marche pas il me fait toujours la distinction entre majuscule et minuscule
 
;-{

n°145973
titi76
Posté le 28-05-2002 à 11:24:21  profilanswer
 

y a pas un autre moyen que de tester caractere par caractere ??

n°145977
titi76
Posté le 28-05-2002 à 11:26:21  profilanswer
 

si une ame bien veilante peut m aider voici mon code
public String remplace ( String str, String oldstr, String newstr)
 {
  int taille = oldstr.length();
  String nouveau = new String();
  StringBuffer buff = new StringBuffer(str);
  int deb = 0;
  int ici = buff.indexOf(oldstr, deb);
   
  while (ici != -1)
  {
   nouveau += buff.substring(deb, ici);
   nouveau += newstr;
   deb = ici+taille;
   ici = buff.indexOf(oldstr, deb);
  }
   
  nouveau += buff.substring(deb);
  return nouveau;
 }

n°145992
El_gringo
Posté le 28-05-2002 à 11:38:43  profilanswer
 

titi76 a écrit a écrit :

si une ame bien veilante peut m aider voici mon code
public String remplace ( String str, String oldstr, String newstr)
 {
  int taille = oldstr.length();
  String nouveau = new String();
  StringBuffer buff = new StringBuffer(str);
  int deb = 0;
  int ici = buff.indexOf(oldstr, deb);
   
  while (ici != -1)
  {
   nouveau += buff.substring(deb, ici);
   nouveau += newstr;
   deb = ici+taille;
   ici = buff.indexOf(oldstr, deb);
  }
   
  nouveau += buff.substring(deb);
  return nouveau;
 }  




 
Mais, pour ton pb de majuscules, t'as qu'a utiliser la méthode toLowerCase de String !

n°145997
titi76
Posté le 28-05-2002 à 11:42:14  profilanswer
 

j y ai pense mais si je fais ca je ne vais pas trouve les occurences en majuscule ....
 
par exemple si je cherche JAVA -> je le transforme en java et apres je recherche java. je ne vais pas trouvé les occurences de Java, JAVA, jAva, ...

mood
Publicité
Posté le 28-05-2002 à 11:42:14  profilanswer
 

n°145999
darklord
You're welcome
Posté le 28-05-2002 à 11:43:49  profilanswer
 

Bin faut savoir ce que tu veux. D'un coté tu veux pas de casse et de l'autre t'en veux.
 
 :heink:  
 
Si tu t'en fous tu transformes TOUT en minuscules (et donc JAVA deviendra java et ca fonctionnera).


---------------
Just because you feel good does not make you right
n°146002
El_gringo
Posté le 28-05-2002 à 11:44:55  profilanswer
 

titi76 a écrit a écrit :

j y ai pense mais si je fais ca je ne vais pas trouve les occurences en majuscule ....
 
par exemple si je cherche JAVA -> je le transforme en java et apres je recherche java. je ne vais pas trouvé les occurences de Java, JAVA, jAva, ...  




 
Mais, convertis les 2 String à comparer !

n°146008
darklord
You're welcome
Posté le 28-05-2002 à 11:47:23  profilanswer
 

grilled :D


---------------
Just because you feel good does not make you right
n°146012
titi76
Posté le 28-05-2002 à 11:49:11  profilanswer
 

merci tu m as donne une idee
en fait je vais faire une copie de mon texte en minuscule, recuperer les index des occurences et faire le remplacement ds mon original
 
titi ;-}

n°146016
El_gringo
Posté le 28-05-2002 à 11:50:04  profilanswer
 

DarkLord a écrit a écrit :

grilled :D  




 
Oui, mais moi c'est mieux expliqué, plus clair, plus concis.
Non, vraiement, je préfère ma version ! :ange:

n°146018
darklord
You're welcome
Posté le 28-05-2002 à 11:50:41  profilanswer
 

el_gringo a écrit a écrit :

 
 
Oui, mais moi c'est mieux expliqué, plus clair, plus concis.
Non, vraiement, je préfère ma version ! :ange:  




 
  :sleep:  :hello:


---------------
Just because you feel good does not make you right
n°146157
benou
Posté le 28-05-2002 à 14:33:04  profilanswer
 

je comprend pas ton code : tu utilises un stringBuffer uniquement pour faire un substring ??? et pluis tu fais des += ...
 
tu ferais mieux de faire le contraire : utiliser le StringBuffer pour stocker ta chaine resultat, et faire le substring sur la chaine d'origine ...


---------------
ma vie, mon oeuvre - HomePlayer
n°146158
benou
Posté le 28-05-2002 à 14:33:56  profilanswer
 

remarque : le += c'est pas du tout efficace en Java !!!
mais alors pas du tout du tout !
des que tu as une boucle avec des += de chaines dedans il faut remplacer ca par un StringBuffer !


---------------
ma vie, mon oeuvre - HomePlayer
n°146204
El_gringo
Posté le 28-05-2002 à 15:26:31  profilanswer
 

benou a écrit a écrit :

remarque : le += c'est pas du tout efficace en Java !!!
mais alors pas du tout du tout !
des que tu as une boucle avec des += de chaines dedans il faut remplacer ca par un StringBuffer !  




 
Ha ouais !? c beaucoup plus lent qu'un Append de StringBuffer !?

n°146214
darklord
You're welcome
Posté le 28-05-2002 à 15:33:06  profilanswer
 

el_gringo a écrit a écrit :

 
 
Ha ouais !? c beaucoup plus lent qu'un Append de StringBuffer !?  




 
yaisse


---------------
Just because you feel good does not make you right
n°146220
El_gringo
Posté le 28-05-2002 à 15:37:48  profilanswer
 

DarkLord a écrit a écrit :

 
 
yaisse  




 
...Je note, merci !

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [JAVA] Pbl de recherche d occurences

 

Sujets relatifs
[java] peut-on faire une pré-selection dans une JList ?[JAVA] Recuperation de la date et l'heure en String
[java] créer des fonctions dynamiquement ?[JAVA] Convertisseur Euro-Franc donné la communauté open source ;-)
[tk/vb/java] une zone de saisie incliné à 45 degrée c'est possibleJAVA SCRIPT : appeler 3 fct dans un fichier .JS ?
Site http sur Java ?[ PHP / MySQL ] Suivre les recherche qui ont été faites...
menu au clic droit en java[Java] Limiter un JTextField a la saisie d'un numérique? [Résolu]
Plus de sujets relatifs à : [JAVA] Pbl de recherche d occurences


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR