2013-02-06 46 views
0

我有一個String(StringTo)這樣格式化字符串:要刪除的電話號碼

John [0775678899] ,Ann [0776789988] ,Mary [0777789900] 

但我需要格式化字符串顯示爲:

John, Ann, Mary 

我嘗試使用下面的方法,但它沒有給我預期的結果:

StringTo = StringTo.replace("//[^10] ,/", ", "); 

有人可以告訴我什麼是錯的或任何其他方式來計算這個?

回答

1

試試這個,它會格式化的空白正確:

StringTo = StringTo.replaceAll("\\s*\\[\\d+\\]\\s*(,?)", "$1 "); 

輸入:

John [0775678899] ,Ann [0776789988] ,Mary [0777789900] 

輸出:

John, Ann, Mary 
+0

感謝它的完美! – user1266343

1

與空字符串

0

更換正則表達式\[\d+\]如果我理解正確的你 - 你需要刪除裏面[]所有數字。試試這個:

StringTo.replaceAll("\\[.*?\\] ",""); 
+3

雖然這將有點太鬆。 '[abc]'也將被這個替換。 – nhahtdh

+0

@nhahtdh沒有限制,只有數字應該被刪除。可能有些編號可能包含字母或空格,誰知道。 –

0
public static void main(String[] args) { 
    String s = "John [0775678899] ,Ann [0776789988] ,Mary [0777789900]"; 
    String[] ss = s.split(","); 
    ArrayList<String >name = new ArrayList<String>(); 
    for(int i = 0; i< ss.length; i++){ 
     String[]splitted = ss[i].split("\\["); 
     name.add(splitted[0]); 
    } 
    System.out.println(name); 
} 

輸出:

[John , Ann , Mary ]