如何删除Android中间字符串中的空白行

时间:2015-10-01 10:01:59

标签: java android

String Address[] = mSelectedaddress.split("\\|");
address.setText(
                Address[1] + "\n"
                        + Address[2] + "\n"
                        + Address[3] + "\n"
                        + Address[4]);

Actual Output:

Address 1
Address 2
                => Blank line           
City

Wanted Output:

Address 1
Address 2         
City

如果您可以看到我的上述代码,则有一些情况Address[positon]可能会返回空白文本,如果该行为空,我该如何删除该行。

3 个答案:

答案 0 :(得分:2)

String adjusted = adress.replaceAll("(?m)^[ \t]*\r?\n", "");

答案 1 :(得分:1)

构建字符串时,请在添加字符串之前检查字符串是否为空。

StringBuilder builder = new StringBuilder();
for(int it = 0; i < Address.length; i++) {
    if(Address[i] != "")
        builder.append(Address[i]);
    }
    address.setText(builder.toString());
}

答案 2 :(得分:1)

我能想到的最简单的事情应该是大部分时间都可以做到这一点:

mSelectedaddress.replaceAll("[\\|\\s]+", "|").split("\\|");

这将删除连续的多个|(带或不带空格)。这些是空行的原因。

示例:

"a|b|c|d|e||g" -> works
"a|b|c|d|e|   |g" -> works
"a|b|c|d|e|||g" -> works