2014-05-18 174 views
-2

我發現很多問題已經可以像這樣回答了,但是,我沒有理解答案,或者他們沒有我需要的答案。我感謝任何幫助。謝謝。如何從用戶輸入中分割字符串中的每個字符?

我需要一個由用戶輸入的字符串,並用該字符串分隔字符。爲了澄清,我將給出下一個例子:如果用戶輸入a1,b1或c1(這是唯一的選擇),我需要輸入字符串(讓我們說a1),並從1分開。這是我可以稍後再單獨使用它們。

+0

你試過'string.split(「,」)'? – Braj

+0

你是否強制選擇輸入? – JamesB

+0

如果唯一的選擇是a1/b1/c1,爲什麼不將1存儲在一個變量中並要求用戶輸入/ b/c? –

回答

1

試試這個:

String str = "a1"; 
char[] splitted = str.toCharArray(); 
char letter = splitted[0]; 
char number = splitted[1]; 

現在你有他們兩個在一個單獨的變量:

System.out.println(letter); // prints a 
System.out.println(number); // prints 1 

如果你的輸入變得更加複雜,像AB123,你想AB和123分離,你可以這樣做:

String str = "ab123"; 
Matcher m = Pattern.compile("([a-zA-Z]+)(\d+)").matcher(str); 
m.find(); 
String letters = m.group(1); 
String numbers = m.group(2); 
+0

好吧,這是完美的。我怎麼能比字符數轉換爲int? – ednomx

+0

是的,只需要:'int valueOfNumber = number - '0';'。或者如果你有一個字符串,使用:'int valueOfNumber = Integer.parseInt(numbers);'。 –

+0

所以基本上我只是創建一個單獨的變量持有的字符爲int? – ednomx

0
string.split("");//returns string[] array of characters 

,或者您可以使用

string.toCharArray();//char array is returned 

如果你不想使用拿鐵;你可以這樣比較

if (string.equals("a1")) 
    //you code 
相關問題