2013-03-13 190 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(其在这种情况下是输入数据的开始)。为了逃避它,你需要通过\^到正则表达式引擎,所以你将需要使用\\^表单。