2012-11-19 102 views
3

我要像“我的狗”的字符串分割成数组的字符串:分裂没有分隔符

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

编辑:

它只打印出“我的”

+6

那么,什么happends? –

+0

问题是什么?它有用吗?如果不是,它做错了什么? –

+0

好吧,在我的电脑上,它会打印出“我的狗”。请重新测试它。你的输入是否真的包含:-'我的狗'? –

回答

4

如果你看到所有“我的”,那么你的input字符串就是你的全部。你使用Scanner.next()吗?

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

打印

{empty line} 
M 
y 

d 
o 
g 
+1

是的,那是我出错的地方。谢谢。 –

9

java.lang.String有一个toCharArray()这样做。

+1

谢谢你的男人。 :) –

+2

-1给你一个'char'数组,而不是一个'String'数组 – Bohemian

3

你只需要为这个一行代码:

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

正则表达式说要每个字符后拆分,一点都不像在空白分裂,你不从分割获得初始空白元素。

1

尝试下面的Java代码

String sourceString="My Dog"; 
char[] varArr = sourceString.trim().toCharArray(); 
for (char c : varArr) { 
    System.out.print(c+" | "); 
}