如何拆分字符串,括号内的运算符
问题描述:
我想用','运算符拆分字符串。原始字符串的样子以下如何拆分字符串,括号内的运算符
input : decode(test,0,nvl(test,0),1)
My expected output:
decode(test
0
nvl(test,0)
1
我尝试下面的程序
String input = "decode(test,0,nvl(test,0),1)";
String[] arr = input.split(",");
帮我解决上述问题
答
试试这个
String arr[ ]= "decode(test,0,nvl(test,0),1)".split ("nvl\\(test,0\\)");
结果
arr[0] == "decode(test,0,"
arr[1] == "nvl(test,0)"
arr[2] == ,1
现在用split(",");
+0
split正则表达式应该是这样的:String arr [] =“decode(test,0,nvl(test,0),1)”。split(“(? CrazyJavaLearner
+0
更简单:'String arr [] = {“decode(test”,“0”,“nvl(test,0)”,“1”}; – shmosel
发生了什么事'1'后的最终括号分裂
arr[0]
和arr[2]
?我认为在一般情况下你确实需要一个解析器来处理这个问题。 –如果你使用split(“,”)分割一个字符串,你将得到所有在原始字符串中被“,”分隔的子字符串,所以nvl(test,0)不在分割的输出中“”)。 – theVoid