2016-10-24 8 views
0

Iは、次の形式/パターンのデータの部分を有する:マッチング入力文字列指定された文字列のパターンと分離WRT特殊文字

String inputFruit = "[Apple,Banana(Mango-Juice,lemon-Pickle,Grape-Drinks)]"; 
    String inputFruit = "Apple,Banana(Mango-Juice,lemon-Pickle,Grape-Drinks)" 
    String inputFruit = "Apple(Mango-Juice,lemon-Pickle,Grape-Drinks)Banana" 

が今抽出物等の個々のDATASを格納する必要が

firstFruit = Apple 
secondFruit = Banana 
miscFruit = Mango-Juice,lemon-Pickle,Grape-Drinks 

私が使用しています次のコードスニペットがあります:私は保存する必要がある。ここ

public static void splitFruits(String inputFruit) 
    { 
     String firstFruit = StringUtils.EMPTY; 
     String secondFruit = StringUtils.EMPTY; 
     String miscFruit = StringUtils.EMPTY; 

     inputFruit = inputFruit.replaceAll("\\[" , ""); 
     inputFruit = inputFruit.replaceAll("\\]" , ""); 

     String frts[] = inputFruit.split("\\(""); 
     String frtp[] = frts[0].split(","); 

     firstFruit = frtp[0]; 
     secondFruit = frtp[1]; 
     miscFruit = frts[1]; 



    } 

を最初のフルーツ、2番目のフルーツのバナナ、そしてその他の果物の中には何が入っていてもかまいません。

私のコードでは、1で述べた特定のパターンの値を抽出することができます。上記の3つの異なるフォーマットの入力値と一致するパターン一致ステートメントを作成し、別々に保管することはできますか?

+0

これはどの言語ですか? –

+0

使用する言語はJAVAです。 –

+0

私の方法では、私が行ったように値を抽出することができます。しかし、実行時には、文字列を入力するパターンがわからないので、一致を作成して値を抽出する必要があります。どうすればいいのか理解してもらえますか? –

答えて

0

frts[0]を使用して第1および第2の果物を得る代わりに、frts[0]frts[2](つまり、括弧の部分の両側にある部分)を組み合わせて分割します。

+0

あなたの貴重な答えをお寄せいただきありがとうございます。私の実際の問題は以下の通りです。 –

+0

あなたの貴重な答えをお寄せいただきありがとうございます。私がしたように値を抽出することができます。しかし、実行時には、文字列を入力するパターンがわからないので、一致を作成して値を抽出する必要があります。どうすればいいのか理解してもらえますか? –

+0

しました。あなたが与えたすべての例では、 'frts'は3つの要素を持つべきです:開いている括弧の前にあるもの、括弧の間のもの、そして閉じ括弧の後のものです。中間の要素には 'miscFruit'があります。他の2人は第1と第2の果物を持っています。 –