2012-11-19 113 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+" | "); 
}