0

文字列 '123' があります (はい、これは私のプログラムの文字列です)。私がこの方法を使用するとき、誰でも説明できますか:

String[] str1Array =  str2.split(" ");

なぜ私はではstr1Array[0]='123'なく得たのstr1Array[0]=1ですか?

4

8 に答える 8

3
str2.split("") ;

これを試してください: string 内の各文字を分割します。出力:

[, 1, 2, 3]

ただし、空の最初の値が返されます。

str2.split("(?!^)");

出力:

[1, 2, 3]
于 2013-02-19T11:25:50.887 に答える
3

str2にはスペースが含まれていないためsplit、 の内容全体str2が の最初のインデックスにコピーされstr1Arrayます。

あなたはしなければならないでしょう:

 String str2 = "1 2 3";
 String[] str1Array =  str2.split(" ");

あるいは、str2 内のすべての文字を検索するには、次のようにします。

for (char ch : str2.toCharArray()){
    System.out.println(ch);
}

ループ内の配列に割り当てることもできます。

于 2013-02-19T11:26:30.513 に答える
2

split() に渡す正規表現は、文字列内で一致が見つかった場所で文字列を分割するように、文字列内で一致する必要があります。ここでは、'123' にはない " " を渡しているため、分割は発生しません。

于 2013-02-19T11:27:21.150 に答える
1

「分割」を行うには、区切り文字を使用する必要があります。この場合、各数値の間に「、」を挿入します。

    public static void main(String[] args) {
    String[] list = "123456".replaceAll("(\\d)", ",$1").substring(1)
            .split(",");
    for (String string : list) {
        System.out.println(string);
    }
}
于 2013-02-19T11:40:58.833 に答える
1

にスペースがないためStringです。単一の文字が必要な場合は、試してくださいchar[] characters = str2.toCharArray()

于 2013-02-19T11:25:43.177 に答える
1

シンプル...文字列をスペースで分割しようとしていますが、文字列「123」にはスペースがありません

于 2013-02-19T11:25:44.740 に答える
1

これは、split()メソッドがパラメーターとして指定された文字に基づいて文字通り文字列を分割するためです。

分割文字が見つかるたびに、分割文字を削除して新しい String を形成します。

String[] strs =  "123".split(" ");

String"123"には文字" "(スペース) がないため、分割できません。したがって、返されるのは配列内の単一の項目です - { "123" }

于 2013-02-19T11:27:45.463 に答える