2015-10-01 40 views
1
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]可能返回空白文本到時候我怎麼能刪除行,如果它是空白。如何刪除字符串的Android

+0

您可以將文本TextView的,如果字符串的長度爲0,則追加只具有一定的文字處理文本 –

+0

這些條目是什麼你的輸入格式之前,請查看您的數組項? – Rustam

回答

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

這種情況下不適用於:「a | b | c | d | e | | g」 –

+0

這麼簡單,但工作。 @ChrisMoran我敢肯定,這種情況下「a | b | c | d | e | | g」不會出現在我的代碼中,所以我想用這段代碼很好。 「 –

+0

」a | b | c | d | e | | g「只是一個例子。你有空格的原因是因爲有|與他們之間的白色空間。該解決方案不會解決這個問題。祝你好運。 –

1

當您構建您的字符串時,請檢查該字符串是否爲空,然後再添加它。

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

感謝您的回答,此代碼也能正常工作,需要一些額外的工作。 –

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 
+0

謝謝,但這不是我想要的,無論如何,我從你的答案中學到了一些東西.. –

+1

你是什麼意思,這不是你想要的?它回答了你問的問題。 –