4

I want to split a string like "My dog" into an array of:

| M | y | space char will be in here | D | o | g |

Here is my code:

String []in_array;
    input = sc.next();  
in_array = input.split(""); //Note this there is no delimiter 

for(int k=1; k < in_array.length; k++){
    System.out.print(" "+in_array[k]);
}

EDIT:

It only prints out "My"

4

4 に答える 4

9

java.lang.String には、まさにそれを行うtoCharArray()があります。

于 2012-11-19T11:45:28.803 に答える
6

「My」と表示されている場合は、input文字列にあるのはそれだけです。Scanner.next() を使用しましたか?

for(String s : "My dog".split(""))
    System.out.println(s);

版画

{empty line}
M
y

d
o
g
于 2012-11-19T11:49:20.410 に答える
4

このために必要なコードは1行だけです。

String[] arr = input.split("(?<=.)");

正規表現はすべての文字のに分割するように指示しているため、空白で分割するのとは異なり、分割から最初の空白要素を取得することはありません。

于 2012-11-19T11:46:50.457 に答える
1

次のJavaコードを試してください

String sourceString="My Dog";
char[] varArr = sourceString.trim().toCharArray();
for (char c : varArr) {
   System.out.print(c+" | ");
}
于 2012-11-19T11:52:55.887 に答える