3

テスト文字列:

Organic whole wheat bread, Monterey Jack Cheese (milk, cheese culture, salt), Hormel Natural Ham (salt, turbinado sugar, lactic acid (not from milk)

望ましい出力:

Array ( 
        [0] => Organic whole wheat bread 
        [1] => Monterey Jack Cheese
        [2] => Hormel Natural Ham
      )

副原料が元のアイテムに表示されても構いません (つまり、「モントレー ジャック チーズ (牛乳、チーズ カルチャー、塩)」)。 .

ここで、自分の問題に適用しようとした他のいくつかの質問を見つけましたが、期待される出力が得られませんでした。

ああ、preg_split が PHP 中心ではない場合のために、私は PHP を使用しています。

前もって感謝します!

4

1 に答える 1

1

最初にすべての括弧とその内容を削除します。

$result = preg_replace('/\s*\([^()]+\)/', '', $subject);

そしてpreg_split()残りのコンマで。これは、括弧がネストされていないことを前提としています。

括弧をネストできる場合は、ネスト レベルの数だけこれを実行する必要があります。毎回、最も内側の括弧が削除されます。

于 2009-12-31T22:33:29.593 に答える