我想用','運算符拆分字符串。原始字符串的樣子以下如何拆分字符串,括號內的運算符
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(",");
幫我解決上述問題
我想用','運算符拆分字符串。原始字符串的樣子以下如何拆分字符串,括號內的運算符
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(",");
split正則表達式應該是這樣的:String arr [] =「decode(test,0,nvl(test,0),1)」。split(「(?<= nvl \\(test,0 \\))| (?= NVL \\(測試,0 \\))「); – CrazyJavaLearner
更簡單:'String arr [] = {「decode(test」,「0」,「nvl(test,0)」,「1」}; – shmosel
發生了什麼事'1'後的最終括號分裂
arr[0]
和arr[2]
?我認爲在一般情況下你確實需要一個解析器來處理這個問題。 –如果你使用split(「,」)分割一個字符串,你將得到所有在原始字符串中被「,」分隔的子字符串,所以nvl(test,0)不在分割的輸出中「」)。 – theVoid