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.("\\^")。このメソッドは正規表現を使用し^、正規表現では特別な意味があります(この場合は入力データの開始です)。それを回避するには、正規表現エンジンに渡す必要があるため、フォーム\^を使用する必要があります。\\^

于 2013-03-13T00:05:57.490 に答える