2015-06-14 54 views
-2

我如何使用INSTR()SUBSTR() 我的例子一個小例子,:如何使用INSTR()和SUBSTR()

String = 'test = "2"'; 
apostrophe1:= INSTR(String,'"',1,1); 
apostrophe2:= INSTR(String,'"',1,2); 
equal:= INSTR(String,'=',1,1); 

f_property_name:= SUBSTR(V1,1,equal-2); 
f_property_value:= SUBSTR(V1,(apostrophe1)+1,(apostrophe2)-2); 
dbms_output.put_line(f_property_name||' = '||f_property_value); 

我想有這樣的結果:test = 3。 但我的結果是:test = 3" 有人可以解釋我的錯誤在哪裏?

+2

你應該學會使用正則表達式函數,特別是'regexp_replace()'。顯然這個問題是一個錯誤的錯誤,應該很容易通過從某個東西中減去1來解決。 –

+0

我忘了提。我也試過,你是ideea但不工作。我有同樣的結果,甚至減去-4。出於這個原因,我不明白爲什麼不工作。 該字符串來自一行文本文件,也許從這裏是問題。 – Silviu

+0

f_property_value:= REGEXP_REPLACE(SUBSTR(V1,(撇號1)+1,(撇號2)-2),'''''');謝謝,man!即使你減去我的尊重點:) – Silviu

回答

1
f_property_value:= REGEXP_REPLACE(SUBSTR(V1,(apostrophe1)+1,(apostrophe2)-2),'"',''); 

它正在與此合作。