1. ホーム
  2. java

[解決済み] 最初のインスタンスでのみ文字列を分割する - java

2022-04-30 02:13:48

質問

文字列を'='キャラクタで分割したいのですが、どうすればいいですか?しかし、最初のインスタンスだけで分割したいのです。どうすればよいのでしょうか?ここに'_'文字のためのJavaScriptの例がありますが、それは私のために動作しません。 指定した文字の最初のインスタンスでのみ文字列を分割する

例:

apple=fruit table price=5

String.split('='); を試すと、次のようになります。

[apple],[fruit table price],[5]

しかし、私は必要な

[apple],[fruit table price=5]

ありがとうございます。

解決方法は?

string.split("=", 2);

として String.split(java.lang.String regex, int limit) を説明します。

このメソッドが返す配列には、この文字列の部分文字列のうち、 与えられた式にマッチする別の部分文字列で終端しているもの、 あるいは文字列の終端で終端しているものがすべて含まれます。配列内の部分文字列は、この文字列の中で出現する順番になります。もし式が入力のどの部分にもマッチしない場合は、 結果の配列の要素はひとつだけ、つまりこの文字列だけとなります。

limit パラメータはパターンが適用される回数を制御するので、 結果の配列の長さに影響します。 もし制限値 n がゼロより大きい場合、パターンは最大で n - 1 回で,配列の長さが n そして、配列の最後のエントリは、最後にマッチしたデリミター以降のすべての入力を含みます。

文字列 boo:and:foo は、例えば、これらのパラメータで次のような結果を得ることができます。

Regex Limit    Result
:     2        { "boo", "and:foo" }
:     5        { "boo", "and", "foo" }
:    -2        { "boo", "and", "foo" }
o     5        { "b", "", ":and:f", "", "" }
o    -2        { "b", "", ":and:f", "", "" }
o     0        { "b", "", ":and:f" }