2013-02-20 174 views
-3

我看到處處都可以找到解決方案。是否可以將字符串變量(如「A1」)分隔爲字符串「A」和整數1變量?Java:將字符串變量分解爲字符串和整數變量?

+2

除了到處找,你有沒有嘗試這個自己? – Reimeus 2013-02-20 21:24:10

+0

沒有。我們不會做你的功課 – jorgeu 2013-02-20 21:28:00

+0

你的問題的答案是我自己嘗試過,但作爲一個相對較新的Java它是我沒有遇到過的東西。我曾Google/Youtubed它,但無法找到一小部分的代碼來幫助我在任何地方。這不是家庭作業,我太老了,沒有作業,我只是熱衷於學習語言的所有方面和所有可以實現的小技巧。 – 2013-03-27 16:26:53

回答

0

從0開始解析,如果你看到非數字把它添加到一個StringBuffer,當你看到數字的StringBuffer的內容添加到List<String> strings;和同爲位數List<String> numbers

0

如果字符串長度是嚴格一個字母而數量只有1位,您可以用String.split(""),但是一個更通用的解決方案,你可以使用regex

示例代碼:

Matcher matcher = Pattern.compile("([a-zA-Z]+)(\\d+)").matcher("variable1121"); 
if (matcher.matches()) { 
    System.out.println(matcher.group(1) + " , " + matcher.group(2)); 
} 

輸出:

variable , 1121 
+0

謝謝你已經完成了這個伎倆,整晚都在竊聽我。 – 2013-02-20 21:43:25

0

如果你有一個字符串變量,如A1ABC123,你可以嘗試:

String input = "A1"; 
String[] array = input.split("(?<=([a-zA-Z]++))"); 

String str = array[0]; 
int integer = Integer.parseInt(array[1]);