我有以下格式/模式的数据:
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种不同格式的输入值并单独存储。
答案 0 :(得分:0)
不是使用frts[0]
来获取第一个和第二个结果,而是将frts[0]
和frts[2]
(即括号部分两侧的部分)组合在一起并将其拆分。 / p>