23

私が演じるとき

String test="23x34 ";
String[] array=test.split("x"); //splitting using simple letter

配列に 23 と 34 の 2 つの項目があります

しかし、私がしたとき

String test="23x34 ";
String[] array=test.split("X"); //splitting using capitalletter

23x34 の配列で 1 つのアイテムを取得しました

split メソッドを大文字と小文字を区別しないように使用する方法はありますか、それとも他に役立つ方法はありますか?

4

9 に答える 9

19

で正規表現パターン[xX]を使用split

String x = "24X45";
String[] res = x.split("[xX]");
System.out.println(Arrays.toString(res));
于 2013-05-16T08:01:43.863 に答える
6

私は個人的に使用することを好みます

String modified = Pattern.compile("x", Pattern.CASE_INSENSITIVE).matcher(stringContents).replaceAll(splitterValue);
String[] parts = modified.split(splitterValue);

このようにして、一意のスプリッタ値がある限り、正規表現が機能することを確認できます

于 2014-12-23T23:29:38.370 に答える
-1

split次のように、への引数として正規表現を使用できます。

"32x23".split("[xX]");

または、次StringTokenizerのように区切り文字のセットを設定できる a を使用できます。

StringTokenizer st = new StringTokenizer("32x23","xX");
//                                          ^^    ^^
//                                       string delimiter

これには、プログラムで区切り文字のリストを作成する場合、たとえば、区切り文字リストの小文字ごとに大文字の対応する文字を追加する場合に、これを実行してから結果を に渡すことができるという利点がありますStringTokenizer

于 2013-05-16T08:13:27.610 に答える