我在网站上寻找一些类似的答案,但到目前为止我还没有找到任何东西。我想知道如何使用预先建立的字符串填充字符串数组。另外,如果我有一个单独的类,我会将此代码包含在方法或构造函数中吗?
字符串:
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 :(得分:5)
^
字符有special meanings in regular expressions;提供一个反斜杠字符(它本身需要在Java中进行转义),以便split将其解释为文字^
:
String[] stateArray = stateList.split("\\^");
答案 1 :(得分:2)
尝试使用split.("\\^")
。此方法使用正则表达式,正则表达式中的^
具有special meaning(在这种情况下是输入数据的开始)。要逃避它,您需要将\^
传递给正则表达式引擎,因此您需要使用\\^
表单。