匹配输入字符串模式与给定字符串并分隔w.r.t特殊字符

时间:2016-10-24 18:06:50

标签: java string

我有以下格式/模式的数据:

    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"

现在我必须提取和存储单个数据,如:

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];



    }

在这里,我需要将Apple存储在变量firstFruit中,将Banana存储在secondFruit中,以及miscFruit中的内部()中的任何内容。

我的代码能够为no 1中提到的特定模式提取值。如何创建模式匹配语句以匹配上述所有3种不同格式的输入值并单独存储。

1 个答案:

答案 0 :(得分:0)

不是使用frts[0]来获取第一个和第二个结果,而是将frts[0]frts[2](即括号部分两侧的部分)组合在一起并将其拆分。 / p>