2012-12-10 85 views
-1

我有一個字符串,說賓果遊戲,我想打破它更小的部分,讓他們每個人一個String數組,例如:

字符串分割到小零件[JAVA]

String s = "BINGO"

我希望它這樣是這樣;

String s[] = new String[s.length]; 
s[0] = B; 
s[1] = I; 
s[2] = N; 
s[3] = G; 
s[4] = O; 

我試過這個,但是失敗了;

public static void main(String[] args) { 


    String sentence = "BINGO"; 
    String words[] = sentence.split("a-zA-Z"); 

    for (String word : words) { 
    System.out.println(word); 
} 

它只是打印出「BINGO」,而我想分裂他們,現在正則表達式我應該用什麼呢?

+0

什麼是'小parts'的陣列?一個字符? – turbanoff

回答

1

使用sentence.split("");

  1. 分割方法獲取應通過拆分什麼是正則表達式。這意味着正則表達式捕獲的所有內容都不會被導致。
  2. 如果你想正則表達式趕上字母,你應該把在方括號的a-zA-Z[a-zA-Z])閱讀正則表達式的文檔。
  3. ,如果你想獲得的結果每一個字符用空字符串。如果你不需要空格,使用\\s*(空白字符0次或更多次)

編輯:

地方(?!^)\\s*之前。 ^是字符串的開頭,(?!^)否定了這一點。
所以(?!^)\\s*表示字符串和空格0以上馴服不起始點。

+0

我使用(\\ s *),現在它將第一個字符串數組視爲空格。我應該怎麼做才能將第一個字符串數組視爲「B」而不是空格? –

+0

這完全有用,非常感謝! –

0

您還可以使用String.getChars()

+0

對不起,我剛剛進入編程領域,只是將我連接到一個方法,並不能幫助我。我應該從那裏做什麼? s.getChars(???)??? ? –

+0

@ E-zardYusof,-1許多''簽署 –

+0

@ E-zardYusof像這樣:http://ideone.com/jRf8YE。但是這是一個字符數組,而不是一個字符串數組。 – irrelephant

1

你可能要轉換爲字符

char[] letters = word.toCharArray(); 
0
String sentence = "BINGO"; 
String words[] = sentence.split(""); // empty regex 

for (String word : words) 
     System.out.println(word);