获取值的java字符串解析机制
我有以下问题,希望有人能告诉我,我是否使用了最糟糕的机制来实现我所尝试的目标:
下面是我需要解析的字符串:
(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);
}
}
我也在尝试删除空格和回车符,但如果有更好的方法(显然我的方法不起作用),请告诉我
# 1 楼答案
# 2 楼答案
只要不涉及严重的递归,正则表达式是一种简单的方法
# 3 楼答案
你可以试试这个:
当与输入一起使用时,会返回以下内容:
# 4 楼答案
这将有助于: