我遇到了以下问题,希望有人能告诉我是否使用了最糟糕的机制来实现我想要做的事情:
这是我需要解析的字符串:
(s(j1) | f(j2) | d(f3) | t(f4) | e(f5) = 5) & v(g) = "0"
我需要能够将 j1、j2、f3、f4、f5 和 g 以及括号内的其他任何内容作为单独的元素
这就是我正在做的事情,但它没有按照我想要的方式工作......
String parsedString="";
String delimiter = "[()s(f(d(t(n(v(&|]+");
String[] tokens = parseString.split(delimiterString);
List<String> listOfValues = new ArrayList<String>(Arrays.asList(tokens));
for (int i=0;i<listOfValues.size();i++)
{
System.out.println("Value of "+i+"is "+listOfValues.get(i));
if(listOfValues.get(i).equals("\r") || listOfValues.get(i).equals("")|| listOfValues.get(i).equals(" "))
{
listOfValues.remove(i);
}
}
我也在尝试删除空格和回车,但是如果有更好的方法来做到这一点(显然我的方法不起作用),请告诉我。