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
4

1 に答える 1

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
        }
于 2012-12-18T22:35:54.603 に答える