このpreg_splitコードを同等のJavaに「変換」する必要があります。私は成功せずにいくつかのことを試みました。これが私が翻訳しようとしているPHPコードです:
$str="1 [3 4 5] 6 7 [8 9] 4";
$chars = preg_split("^\[(.*?)\]||/ /^", $str, -1, PREG_SPLIT_DELIM_CAPTURE);
foreach ($chars as $key => $value) {
if(ord($value)!=0 && $value!=" "){
$res[]=$value;
}
}
print_r($res);
ご覧のとおり、私の文字列入力は、任意の数文字のシーケンスで構成でき、そのうちのいくつかは[]角かっこで囲まれています。
1 [3 4 5] 6 7 [8 9] 4
角かっこは文字列の最初または最後のどちらでもかまいません。制限はありません。
上記の例に従うと、結果は次のようになります。
[0] = "1"
[1] => "3 4 5"
[2] => "6"
[3] => "7"
[4] => "8 9"
[5] => "4"
正規表現を変換しようとすると、いくつかの問題が見つかりました( "\"は無効なエスケープシーケンスとして失敗するように見えます)。