0

私はそのString(StringTo)ようなものを持っています

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

ただし、文字列を次のようにフォーマットして表示する必要があります。

John, Ann, Mary

以下の方法を使用してみましたが、期待した結果が得られませんでした。

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

何が間違っているのか、これを計算する他の方法を教えてもらえますか?

4

4 に答える 4

1

正規表現\[\d+\]を空の文字列に置き換えます

于 2013-02-06T10:38:40.173 に答える
1

これを試してください。空白が適切にフォーマットされます。

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

入力:

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

出力:

John, Ann, Mary 
于 2013-02-06T10:53:47.950 に答える
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 ]
于 2013-02-06T11:01:53.143 に答える
0

私の理解が正しければ、 内のすべての数字を削除する必要があります[]。これを試して:

StringTo.replaceAll("\\[.*?\\] ","");
于 2013-02-06T10:39:07.223 に答える