2012-12-18 72 views
0

我有下面的數據,有什麼方法可以使用regexp_replace函數來編寫通用正則表達式來在oracle中獲得所需的輸出。要替換的正則表達式<

<Tier><grade><><sdlc><17,10><> : result should be 17.10 
<><sdlc><16,909312> : 16.909312 
<><sdlc><11396,87> :11396.87 
<20121217>  :20121217 
<UNIT><6086> : 6086 
<Tier1><><sdlc><0,47> :0.47 
+0

謝謝Reimeus,但我希望它使用正則表達式,這是我有它的限制。 – user1726550

+1

是您的數據XML嗎?如果是這樣,更好地閱讀本文 - http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454 –

+0

@shellter他的問題很清楚。 '<><17,10><>'convert to 17.10' – Smit

回答

2

你可能在你一個簡單的正則表達式如下圖所示:

步驟:

  • 更換,難熬.
  • 使用正則表達式來查找匹配

代碼:

String s="<Tier><grade><><sdlc><17,10><>"; 
      s = s.replace(',', '.'); 
      Pattern p = Pattern.compile("\\d+\\.*\\d+"); 
      Matcher m = p.matcher(s); 
      if(m.find()){ 
      System.out.println(m.group());// 17.10 
     } 
+0

謝謝,它的工作原理其他字段:<><16,909312>:16.909312 <><11396,87>:11396.87 <20121217>:20121217 <6086>:6086 <><0,47>:0.47 – user1726550

+0

申請其他相同的正則表達式以及。 – PermGenError

+0

如何在oracle中使用regexp_replace函數? – user1726550