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

但这会把换行符显示为正方形我该怎么摆脱它

最佳答案

你看到的方块字符可能不是'\n''\u000A')字符。
如果在输出中看到多行,则有可能使用多个字符来拆分行。它可能是'\r\n'但可能是其他东西。
最好的办法是在拆分字符串之前使用调试器检查字符串包含的内容。或者可以添加一些调试代码,如下所示:

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

如果您看到\u000D \u000A,那么您的行由"\r\n"分隔。这意味着您不能使用SimpleStringSplitter来拆分字符串,因为它只会拆分单个字符。
如果不想手动分析字符串,可以使用String.split() method
for (String s : tweetMessage.split("\r\n") {
    //do something with s
}

关于android - Android删除换行符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1968258/

10-11 16:25