0

我在网站上四处寻找一些类似的答案,但到目前为止我还没有找到任何东西。我想知道如何用预先建立的字符串填充字符串数组。另外,如果我有一个单独的类,我会将这段代码包含在方法中还是构造函数中?

字符串:

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++)
4

2 回答 2

5

^字符在正则表达式中具有特殊含义;提供一个反斜杠字符(它本身需要在 Java 中转义),以便 split 将其解释为文字^

String[] stateArray = stateList.split("\\^");
于 2013-03-13T00:06:17.397 回答
2

尝试使用split.("\\^"). 此方法使用正则表达式,并且^在正则表达式中具有特殊含义(在这种情况下是输入数据的开始)。要逃避它,您需要传递\^给正则表达式引擎,因此您需要使用\\^form.

于 2013-03-13T00:05:57.490 回答