2009-12-28 5 views
2
TextUtils.StringSplitter splitter = new TextUtils.SimpleStringSplitter('\n'); 
    splitter.setString(tweetMessage); 
    tweetMessage = ""; 
    for (String s : splitter) 
    { 
     Log.v(getClass().getSimpleName(), "Spliter :: "+ s); 
     tweetMessage +=s; 
    } 

Mais cela montre les sauts de ligne sous forme de carrés comment puis-je me débarrasser de cetteAndroid suppression des sauts de ligne

Répondre

4

Les personnages que vous voyez que les places ne sont probablement pas '\n' ('\u000A') caractères.

Si vous voyez plusieurs lignes dans votre sortie, il est possible que plusieurs caractères soient utilisés pour diviser les lignes. Ce pourrait être '\r\n' mais ça pourrait être autre chose. Le meilleur moyen est d'utiliser un débogueur pour vérifier exactement ce que contient la chaîne avant de la fractionner. Ou vous pouvez ajouter un code de débogage comme ceci:

for (int u : tweetMessage.toCharArray()) { 
    Log.v(getClass().getSimpleName(), String.format("\\u%04X",u)); 
} 

Si vous voyez \u000D \u000A alors vos lignes sont séparées par "\r\n". Cela signifie que vous ne pouvez pas utiliser un SimpleStringSplitter pour diviser la chaîne car celle-ci se divisera uniquement sur un seul caractère.

Si vous ne voulez pas analyser la chaîne manuellement, vous pouvez utiliser le String.split() method:

for (String s : tweetMessage.split("\r\n") { 
    //do something with s 
} 
+0

Ya sa montrant '\ u000A' mais avant sa montrant '\ u000D' –

2

Si vous devez supprimer les caractères newline/onglet au début et à la fin d'une chaîne (pas ceux au milieu de la chaîne) il suffit d'utiliser .trim() fonction pour faire le tric. Cela va supprimer les espaces blancs de la mendicité et la fin de la chaîne.

Ex:

String xmlVersionDate = rootNode.getChildNodeWithName("last-updated").getValue().trim(); 
Questions connexes