enlever les "\n"

enlever les "\n" - Java - Programmation

Marsh Posté le 02-12-2003 à 20:48:08    

existe-t-il une methode en java qui permet d'enlever tous les "\n" d'une chaine de caractere ,autre que le fait d'utiliser la methode replace ?
 
merci de me repondre .

Reply

Marsh Posté le 02-12-2003 à 20:48:08   

Reply

Marsh Posté le 02-12-2003 à 20:51:00    

pourquoi ?  
tu peux le faire à la main si tu veux ... ou avec une regex

Reply

Marsh Posté le 02-12-2003 à 22:05:16    

ben un exemple de regex alors merci !

Reply

Marsh Posté le 02-12-2003 à 22:06:41    

bobbyf a écrit :

ben un exemple de regex alors merci !


 
ta mère en slip  :o


---------------
From now on, you will speak only when spoken to, and the first and last words out of your filthy sewers will be "Sir!"
Reply

Marsh Posté le 02-12-2003 à 22:13:30    

SchnapsMann a écrit :


 
ta mère en slip  :o  

+1
 
tu veux faire l'idiot avec des solutions compliquées alors que la solution la plus simple est aussi la plus performante : alors t'assumes

Reply

Marsh Posté le 02-12-2003 à 23:08:08    

tu parles a qui taz ??

Reply

Marsh Posté le 02-12-2003 à 23:14:07    

à toi. personne ne comprends ce que tu veux ...

Reply

Marsh Posté le 02-12-2003 à 23:52:03    

en même temps, la méthode replace avec les char ne te permettra pas de faire ce que tu veux et celle avec des chaines ca utilise déjà les regexp ...
 
comme autre solution, je vois le Stringtokenizer, mais ca sert à quoi de se faire chier à inventer des solutions à la con alors qu'il y a un truc tout fait ? :/


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 03-12-2003 à 00:03:16    

ben les méthodes delete des StringBuffer

Reply

Marsh Posté le 03-12-2003 à 00:21:26    

Taz a écrit :

ben les méthodes delete des StringBuffer


ouais mais ca ca fait un décalage de tous les chars qu'il y a derrière le char que tu vires à chaque delete :/


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 03-12-2003 à 00:21:26   

Reply

Marsh Posté le 03-12-2003 à 00:24:18    

ben alors tu peux splitter (avec les méthodes du même nom) puis réassembler. Je sais pas comment son implémenter les StringBuffer, mais si c'est du genre deque, mais du genre liste chaîne de char[], ça coutera vraiment rien du tout. dans le cas contraire, c'est vrai que c'est pourri, autant recopier à la main en sautant les '\n'

Reply

Marsh Posté le 03-12-2003 à 00:28:09    

le StringBuffer ca doit être un bête tableau de char je pense ...


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 03-12-2003 à 00:28:49    

c'est bête effectivement...

Reply

Marsh Posté le 03-12-2003 à 00:29:49    

Taz a écrit :

c'est bête effectivement...


marrant, tu m'avais pas manqué toi ...


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 03-12-2003 à 00:31:22    

non mais ça serait bien d'avoir un conteneur spécifiquement prévu pour les ajouts/suppressions en milieu en temps < o(n)

Reply

Marsh Posté le 03-12-2003 à 00:39:04    

Taz a écrit :

non mais ça serait bien d'avoir un conteneur spécifiquement prévu pour les ajouts/suppressions en milieu en temps < o(n)


c'est vrai que ca pourrait être sympa dans certains cas, mais ce serait très gourmand également : ca reviendrait à splitter la chaine en plusieurs bout de chaine à chaque delete par exemple => création de très nombreux objets + copie des tableaux de char, etc ...
 
Ce serait avantageux quand dans de rare cas ...
 
Dans son cas à lui, le plus efficace c'est de créer un String buffer, de boucler sur sa chaine originale et de copier dans le stringbuffer tout ce qui n'est pas '\n'


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 03-12-2003 à 00:42:23    

* pas forcément. si tu fais une liste de char[taille_fixe] et que pour chaque morceau tu conserves la longueur réelle, et que tu as une politique intelligente de réorganisation et d'allocation, ça tient la route. après tu maintiens un index. ça coute oui, mais dans des cas, pas si rares, je suis sur que ça peut servir. ça me donne envie de le faire, mais pas en java (enfin pas dans un premier temps)
 
* certes

Reply

Marsh Posté le 03-12-2003 à 01:51:26    

à titre informatif de ce que je connais en C++
http://www.sgi.com/tech/stl/Rope.html
 
j'ai fait un petit bench string/crope/vector : effacer les voyelles d'une très longue séquence de caractère, en faisant autant que de parcours qu'il y a des voyelles (genre "aeiouy" -> 6). sur mon exemple
 

163.664 caractères
51.804 voyelles à supprimer
 
std::string
2.16s
 
std::vector
2.04s
 
sgi::crope
0.23s


 
l'implémentation de crope est loin d'être trivial, mais ça vaut le coup. La documentation de SGI recommande se conteneur pour ce genre d'utilisation, comme par exemple un buffer pour un éditeur de texte.

Reply

Marsh Posté le 03-12-2003 à 13:31:34    

hey j'ai pas trollé :D
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
enfin je crois pas :sweat:

Reply

Marsh Posté le 03-12-2003 à 13:34:57    

Taz a écrit :

enfin je crois pas :sweat:


 
tu nous fait le meme ptit bench en java histoire de ? [:icon7]

Reply

Marsh Posté le 03-12-2003 à 13:41:14    

ben j'ai presque envie, mais le conteneur de SGI, il fait à lui seul 2500 lignes de codes (~100Ko), mais il utilise beaucoup algorithmes de STL en plus... le comprendre ça prendra déjà un peu de temps, mais le recoder ... [:totoz]

Reply

Marsh Posté le 03-12-2003 à 13:57:28    

nan je pensais une implem toute conne du vector (pas du crope(D'ailleurs j'avais jamais entendu parler de ce truc))histoire de voir :O
Ensuite on aurait tous pu aller troller gaiement, boire des coups et se mettre des grandes claques dans la gueule, ca aurait ete sympa.

Reply

Marsh Posté le 03-12-2003 à 13:58:55    

bah je vais voir, faut déjà que je d/l de quoi faire du java

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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