格式化字符串:删除电话号码

时间:2013-02-06 10:36:01

标签: java regex string replace

我有一个String(StringTo),例如

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

但是我需要格式化字符串以将其显示为:

John, Ann, Mary

我尝试使用以下方法,但它没有给我预期的结果:

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

有人可以告诉我什么是错的或以其他方式计算这个吗?

4 个答案:

答案 0 :(得分:1)

用空字符串

替换正则表达式\[\d+\]

答案 1 :(得分:1)

试试这个,它会正确格式化白色空间:

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

输入:

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

输出:

John, Ann, Mary 

答案 2 :(得分:0)

如果我理解正确 - 您需要删除[]中的所有数字。试试这个:

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

答案 3 :(得分: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 ]