4

我想将像“我的狗”这样的字符串拆分成一个数组:

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

这是我的代码:

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]);
}

编辑:

它只打印出“我的”

4

4 回答 4

9

java.lang.String 有一个toCharArray()可以做到这一点。

于 2012-11-19T11:45:28.803 回答
6

如果你看到的都是“我的”,那就是你的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

为此,您只需要一行代码:

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 回答