2010-06-24 6 views
0

il arrive que l'utilisateur clique sur entrer où je ne veux pas l'inclure comme une partie de mon entrée la chaîne peut se terminer avec 3 fois \ n si juste remplacer un ne fera pas le travail ma solution était;La chaîne se termine par ' n' quel est le moyen le plus efficace de manipuler?

String values[] = string_Ends_With_Back_Slash_N.split("\n"); 
String String_without_Back_Slash_N =new String (values [0]); 
//or just to point there without the new but i want later to dump the garbage. 

ou tout au moins pour vider les valeurs au gc maintenant ....

donc deux q:

  1. est-il plus moyen de efficent ..
  2. qui dois-je appeler le compilateur (java sur Android ...)
+0

pouvez-vous utiliser StringUtils dans Android? Il y a quelques fonctions pratiques pour traiter les cordes. http://commons.apache.org/lang/api/org/apache/commons/lang/StringUtils.html – pakore

+0

Copie possible de http://stackoverflow.com/questions/3100585/remove-end-of-line- caractères-de-fin-de-java-string – user85509

+0

Je vous encourage également à vous habituer aux conventions de la langue - bien que cela n'ait rien à voir avec la question en soi, vos variables devraient classiquement dans le cas du chameau inférieur, par exemple 'String stringWithoutBackSlashN'. En fait, je l'ai trouvé nettement plus difficile à lire votre code parce que vous violez les conventions de nommage. –

Répondre

4
String String_without_Back_Slash_N = string_Ends_With_Back_Slash_N.trim() 
+0

'/ n' n'est pas "" (espace blanc) donc votre approche est sans importance ... –

+1

@ yoav.str essayer cela, ça marche;) – Bozho

+0

j'ai essayé ... :) il n'a pas supprimé le/n ... dans java sur éclipse ... dans C# je pense que cela fonctionne je n'ai pas de compilateur mais c'est une chose nuce si quelqu'un peut vérifier –

5

Essayez String.trim()

Cette méthode supprime tous les caractères des extrémités de la chaîne, qui ont un code ASCII inférieur à l'espace (intervalle, 32). Cela comprend \n (10).

0

Reposer tous les \n (et peut-être \r) avec ""

+1

ou utiliser trim() :) –

+0

oui mais la raison pour laquelle je demande des directives est que je veux améliorer l'efficacité donc votre réponse ne m'aide pas. –

1
String s = "test\n\n\n"; 
s.replaceAll("\n", ""); 
+0

le type de retour est celui que je cherche String temp = s.replaceAll ("\ n", ""); mais encore ma question est là manière plus efficace de faire cela? –

0

Puisque les chaînes sont immuables il n'y a pas besoin de créer une nouvelle chaîne. Si vous videz la "poubelle", le garbage collector reconnaîtra que le premier élément du tableau est toujours référencé et ne le rejettera pas. Le reste sera éliminé.

Questions connexes