[ debutant ] String

String [ debutant ] - Java - Programmation

Marsh Posté le 26-09-2005 à 00:19:09    

Bonjour,
 
J'ai une chaine de caractéres ds un string comme ce qui suit :
 
String chaine = "le chien est ds le bois";
 
Je voudrais savoir coment effacer le mot chien.
 
Je sais comment trouver le mot "chien" avec la méthode indexOf(int ch) ,mais ensuite je sais pas comment l'effacer ou le remplacer par rien.
 
Merci :jap:

Reply

Marsh Posté le 26-09-2005 à 00:19:09   

Reply

Marsh Posté le 26-09-2005 à 00:21:47    

En java, une chaine est dite immuable, à savoir qu'elle ne change pas de valeur.
 
Regarde dans le stringbuilder :jap:


---------------
JE JE SUIS LIBERTINEEEEEEEEEEE JE SUIS UNE CATINNNNNNNNN §§§§§§§§
Reply

Marsh Posté le 26-09-2005 à 09:29:32    

En combinant les méthodes substring() et indexOf() de la classe String tu arriveras à faire le remplacement ( en une ligne de code si tu te débrouille bien ). Voir javadoc pour les deux méthodes citées ci-dessus.
Pour Elianor, ne pinaille pas, ça m'a l'air d'être un débutant, il peut très bien créer une nouvelle chaine à partir de traitements réalisés sur une autre.

Reply

Marsh Posté le 26-09-2005 à 12:35:24    


 
Ce n'est pas parce que l'on débute qu'il faut prendre de mauvaises habitudes [:spamafote]
 


---------------
JE JE SUIS LIBERTINEEEEEEEEEEE JE SUIS UNE CATINNNNNNNNN §§§§§§§§
Reply

Marsh Posté le 26-09-2005 à 13:27:58    

Je vais quand même donner la réponse :

Code :
  1. String chaine="le chien est dans le bois";
  2. String cherche="chien";
  3. String nouvelleChaine=chaine.subtsring(0,chaine.indexOf(cherche))+chaine.substring(chaine.indexOf(cherche)+cherche.length(),chaine.length());


violà.

Reply

Marsh Posté le 26-09-2005 à 13:41:15    

superbe


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 26-09-2005 à 13:53:41    

*pelle à clous*


---------------
JE JE SUIS LIBERTINEEEEEEEEEEE JE SUIS UNE CATINNNNNNNNN §§§§§§§§
Reply

Marsh Posté le 26-09-2005 à 13:54:51    

C'est clair que quand on voit des merdes pareilles, faut pas s'etonner que les noobs confondent Java et Javascript...


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 26-09-2005 à 13:55:51    

"le chien est dans le bois".replace("chien", "" )


[:screetch]


Message édité par the real moins moins le 26-09-2005 à 13:56:41

---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 26-09-2005 à 13:56:14    

Je vais peut-être me faire taper dessus, mais la dernière fois que j'ai eu besoin de remplacer des trucs en Java, je suis passé par les classes Pattern et Matcher.
 
EDIT : mais bon j'avais besoin d'appliquer un regexp n fois


Message édité par Elmoricq le 26-09-2005 à 13:59:10
Reply

Marsh Posté le 26-09-2005 à 13:56:14   

Reply

Marsh Posté le 26-09-2005 à 14:29:08    

esox_ch a écrit :

C'est clair que quand on voit des merdes pareilles, faut pas s'etonner que les noobs confondent Java et Javascript...


En déposant ce poste, je n'ai pas eu la prétention de faire quelquechose de propre mais un truc tout simple "compréhensible" pour débutant, mais surtout donner rapidement une solution à un problème posé.
Sache que le "noob" dont tu parles a eu son premier cours de java en 1998 et qu'il n'a jamais abandonné java depuis. Concernant javascript, j'ai bien essayé une ou deux fois de me mettre à cette mer.. mais ça colle vraiment pas.
Plutôt que de qualifier de merde - qui certe en est proche, je l'admets - les propositions des autres, je t'invite à briller en postant le code "propre" et surtout compréhensible pour l'auteur du post.

Reply

Marsh Posté le 26-09-2005 à 14:34:42    


 
enorme [:pingouino]  

Reply

Marsh Posté le 26-09-2005 à 14:36:04    

Je crois que le -- a tout dit. Personnellement je ne donne que tres rarement les réponse comme il l'a fait parceque j'estime qu'il faut chercher par soi meme pour apprendre.
Ce que je reproche a ta methode, c'est que ce genre de syntaxe est totalement incompréhensible pour un non - initié (et meme ... faut s'accrocher), et c'est ce genre de truc qui donne la reputation que Java est un langage lourd et difficile.


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 26-09-2005 à 14:51:45    

C'est vrai que la ligne est longue donc moins compréhensible ( mes exscuses ), je la pensait claire car se basant sur deux méthodes de la classe String ( indexOf() et substring() ), que l'on retrouve dans quasiment tous les langages.  
Sinon, c'est vrai qu'il y a beaucoup plus simple comme le disait The Real Moins Moins avec les méthode replacexxx.

Reply

Marsh Posté le 26-09-2005 à 21:22:50    

Merci pour vos infos.  
 
Voici comment j'ai procédé :
 
String chaine_initiale = "le chien est ds le bois";
String nvelle_chaine =  chaine_initiale.replaceAll("chien","" );  
 jTextArea1.setText(nvelle_chaine);

Reply

Marsh Posté le 26-09-2005 à 21:27:49    


[:kzimir]


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Marsh Posté le 26-09-2005 à 23:06:56    


Bravo.
 
Soyez Java, Soyez Bloat :o
 
Mais fais gaffe, t'as oublié d'utiliser du XML, ça passe pour cette fois mais évite de recommencer chenapan [:aloy]


Message édité par masklinn le 26-09-2005 à 23:07:08

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 27-09-2005 à 07:58:11    


c'est toi qui a du mal à coller aux langage
Javascript est tout simple et tout con à utiliser pour faire un replace d'une chaine dans une autre
 
      var chaine = "le chien est dans le bois, et le chien est con";
      chaine = chaine.replace(/(chien)/g,"" )
 
pourquoi utiliser les regexp ? tout simplement parce que chaine.replace("chien","" ), n'aurait remplacé qu'une seule fois chien.
alors on replace chien partout dans la chaine via une regexp.
 
Le JS n'est pas un langage de merde, il a juste été utilisé à tord et à travers et n'importe comment par des noobs de ton genre.
 
Ya des méthodes simples dans les langages et il faut les appliquer.
Parce que ton truc est imbuvable et totalement inutile.
 
Quand tu veux faire disparaitre quelque chose, tu le remplace par rien du tout, tu ne fais pas 36 000 lignes de codes qui n'ont aucun sens.

Message cité 1 fois
Message édité par gatsusat le 27-09-2005 à 07:59:13
Reply

Marsh Posté le 27-09-2005 à 08:09:34    

gatsusat a écrit :


Le JS n'est pas un langage de merde, il a juste été utilisé à tord et à travers et n'importe comment par des noobs de ton genre.


Le monsieur a dit qu'il n'est pas noob. Le monsieur utilise java depuis 1998.

Reply

Marsh Posté le 27-09-2005 à 08:58:00    

nan tu as raison il est surtout bloat

Reply

Marsh Posté le 27-09-2005 à 09:05:29    

Et je rajouterai même que le monsieur de fais pas de développement web ( JS, XML etc... ), il conçoit le model et laisse ce sale boulot aux noobs d'analystes programmeur de la boite.
Bon, je considère sur ce coup de geule que le sujet est clos. Merci à ceux qui répondent aux questions postées et qui contribuent à l'utilitée de ce forum. Quant à ceux qui insultent, se plaignent, rabaissent les autres sans avoir ne serait-ce qu'une idée à proposer, je les invites à m'ignorer et à ne plus répondre à mes messages - chose qui bien entendu est réciproque.
A bon entendeur...

Message cité 1 fois
Message édité par Profil supprimé le 27-09-2005 à 09:07:18
Reply

Marsh Posté le 27-09-2005 à 10:04:53    


 
[:quoted] [:mlc]

Reply

Marsh Posté le 27-09-2005 à 10:23:46    

Mais c'est vendredi tous les jours ? [:pingouino]


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Marsh Posté le 27-09-2005 à 11:19:58    

Avec iohack, c'est vendredi tout les jours ! Faudrait que je le presente a mon chef :D


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 27-09-2005 à 11:37:35    

utilité, pas utilitéE bordel


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 28-09-2005 à 22:49:20    

j'entends dans l'oreillette que iohack travaillerait pour microsoft ..
 
ha bah voila tout s'explique..

Message cité 1 fois
Message édité par dlxzap le 28-09-2005 à 22:50:05
Reply

Marsh Posté le 28-09-2005 à 22:55:25    

dlxzap a écrit :

j'entends dans l'oreillette que iohack travaillerait pour microsoft ..
 
ha bah voila tout s'explique..


 
C'est quoi le rapport avec la choucroute ? [:mlc]

Reply

Marsh Posté le 28-09-2005 à 22:59:47    

Elmoricq a écrit :

C'est quoi le rapport avec la choucroute ? [:mlc]


 
MS = mal = satan = evil transpire :o
 
Ca doit être un intaigriste linuxien :o


---------------
JE JE SUIS LIBERTINEEEEEEEEEEE JE SUIS UNE CATINNNNNNNNN §§§§§§§§
Reply

Marsh Posté le 04-10-2005 à 21:45:55    

Pour me dérouiller un peu (chomâge oblige), j'aimerais proposer une solution. Je suis bien évidemment ouvert à toute critique.
 

Code :
  1. // Supposons donc que tu aies :
  2. String chaine = "le chien est dans le bois";
  3. String aSupprimer = "chien";
  4. // Tu crées un objet StringBuilder, c'est à dire une chaîne de caractères modifiable, à partir de la chaine "chaine" :
  5. StringBuilder chaineModifiable = new StringBuilder(chaine);
  6. // Tu calcules ensuite la position de la chaîne à supprimer et sa longueur :
  7. int indexDebut = chaineModifiable.indexOf(aSupprimer);
  8. int longueurChaineASupprimer = aSupprimer.length();
  9. // Il ne reste plus qu'à supprimer les caractères correspondants :
  10. chaineModifiable.delete(indexDebut, indexDebut+longueurChaineASupprimer);
  11. // Et à remettre le tout dans l'objet de départ :
  12. chaine = chaineModifiable.toString();


 
PS : C'est volontairement "éclaté" pour plus de clarté.
 
Edit : Utilisation de delete() :o
(dingue comme j'ai du mal pour un truc aussi naze :( )


Message édité par _john_doe_ le 04-10-2005 à 21:50:38
Reply

Marsh Posté le 04-10-2005 à 21:50:57    

Heuuu...
 
Suffit de faire

Code :
  1. String chaine = "le chien est dans le bois";
  2. String toDelete = "chien";
  3. chaine = chaine.replace(toDelete, "" );


comme moinmoin l'a indiqué il y a déjà bien des posts [:petrus75]


Message édité par masklinn le 04-10-2005 à 21:53:01

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 04-10-2005 à 21:58:41    

Bon :o
La prochaine fois je la ferme :o
Merci :o

Reply

Marsh Posté le 04-10-2005 à 23:57:59    

Ton truc marche ... mais quand Masklinn fait ses croisades anti-java en clamant que c'est lourd a l'ecriture, il se refere a ce genre de truc :D


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 05-10-2005 à 00:06:53    

esox_ch a écrit :

Ton truc marche ... mais quand Masklinn fait ses croisades anti-java en clamant que c'est lourd a l'ecriture, il se refere a ce genre de truc :D


 
Je suis entièrement d'accord.
Je ne connaissais pas la méthode replace(...) de la classe String.

Reply

Marsh Posté le 05-10-2005 à 04:53:48    

esox_ch a écrit :

Ton truc marche ... mais quand Masklinn fait ses croisades anti-java en clamant que c'est lourd a l'ecriture, il se refere a ce genre de truc :D


non :o


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 05-10-2005 à 05:28:58    

Heureusement que c'est pas une débutante qui demandait de l'aide ... ça aurait fait un joli titre  [:rhetorie du chaos]


Message édité par Zzozo le 05-10-2005 à 05:29:12

---------------
« Ce qui ne vous tue pas vous rend plus fort » F. Nietzsche | « Vise_ la Lune. Si tu rates, au pire, t'es dans la merde » Un poète disparu dans le cercle
Reply

Marsh Posté le 05-10-2005 à 08:18:38    


 
Roh toi ! Alors tu te referes a quoi quand tu parles de la lourdeur et complexité de java?


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 05-10-2005 à 10:28:54    

esox_ch a écrit :

Roh toi ! Alors tu te referes a quoi quand tu parles de la lourdeur et complexité de java?


Sans doute à ce côté inutilement verbeux, bourré de couches d'abstraction sur des protocoles standards, où on utilise 10 lignes alors que 2 pourraient suffir, où l'abus d'interfaces finit par nuire gravement à la santé.
 
Java, c'est l'enfer pavé de bonnes intentions.
 
[:pingouino]


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Marsh Posté le 05-10-2005 à 10:42:38    

Moi je ne connaissais pas la methode replace, g appris quelque chose aujourd'hui merci --!


---------------
Estelio guru lîn
Reply

Marsh Posté le 05-10-2005 à 11:40:21    

Gna gna gna :o
Je fais du Java depuis 1998 moi aussi :o
 
(la loose quand même :'( )

Reply

Marsh Posté le 05-10-2005 à 12:02:27    

Jessica_ a écrit :

Moi je ne connaissais pas la methode replace, g appris quelque chose aujourd'hui merci --!


[:zoubi]
 
 
 

Spoiler :

ça marche mieux que le fortran on dirait[:dawa]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed