Android删除换行符

时间:2009-12-28 06:36:47

标签: android

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

但是这会将换行符显示为Squares如何摆脱

2 个答案:

答案 0 :(得分:4)

您看到的正方形字符可能不是'\n''\u000A')个字符。

如果您在输出中看到多行,则可能会使用多个字符来分割线条。它可能是'\r\n'但它可能是其他东西。

最好的办法是在拆分之前使用调试器准确检查String包含的内容。或者你可以像这样添加一些调试代码:

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
}

答案 1 :(得分:2)

如果您需要删除字符串开头和结尾处的换行符/制表符(而不是字符串中间的那些),只需使用.trim()函数来执行tric。这将从字符串的乞讨和结尾删除空格。

例如:

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