2013-03-13 187 views
0

我正在四處尋找類似的答案,但到目前爲止我還沒有發現任何東西。我想知道如何使用預先建立的字符串填充字符串數組。另外,如果我有一個單獨的類,我會將這些代碼包含在方法或構造函數中嗎?使用字符串填充字符串數組? (JAVA)

字符串:

String stateList = "Alabama^Alaska^Arizona^Arkansas^California^Colorado^Connecticut^Delaware^Florida^" 
      + "Georgia^Hawaii^Idaho^Illinois^Indiana^Iowa^Kansas^Kentucky^Louisiana^Maine^Maryland^" 
      + "Massachusetts^Michigan^Minnesota^Mississippi^Missouri^Montana^Nebraska^Nevada^" 
      + "New Hampshire^New Jersey^New Mexico^New York^North Carolina^North Dakota^Ohio^Oklahoma^" 
      + "Oregon^Pennsylvania^Rhode Island^South Carolina^South Dakota^Tennessee^Texas^Utah^" 
      + "Vermont^Virginia^Washington^West Virginia^Wisconsin^Wyoming"; 

我嘗試(沒有工作):

String[] stateArray = stateList.split("^"); 
    for(int i=0; i < stateArray.length; i++) 
+0

您也可以實例化字符串數組的時候了。 String [] stateArray = new String [] {「Alabama」,「Alaska」,「and other」}; – flup 2013-03-13 00:33:38

+0

你沒有圍繞'^'的空格,不要在分割中使用它。 – jcubic 2013-03-13 12:49:02

回答

5

^字符有special meanings in regular expressions;提供一個反斜槓字符(這本身也需要在Java中被轉義),從而使拆分其解釋爲文字^

String[] stateArray = stateList.split("\\^"); 
+0

感謝您的協助。 – 2013-03-13 00:30:54

2

嘗試使用split.("\\^")。這種方法使用正則表達式,並且正則表達式中的^具有special meaning(其在這種情況下是輸入數據的開始)。爲了逃避它,你需要通過\^到正則表達式引擎,所以你將需要使用\\^表單。