破解Oracle之前和之后的regexp_replace / Substr提取字符串

时间:2016-04-11 22:57:55

标签: sql oracle

我有一个字符串,我无法提取受破折号限制的单个字符。我写了XTT-D-X-K-345ROCKVIEW-CA Output = > D X K RT-5-345REDE Output = > 5 FT-5-3-345HOTELWI Output = > 5 3 但它没有给出预期的输出。 我需要,

XTT-D-X-K-
RT-5-
FT-5-3-

但我得到了

getTemperature: function(){
   return $http({
     method:'GET',
     url:'https://someurltoget/device10/temperature',
     header:{
            'Accept':'application-json'},
     }).then(
      function(response){
         return response;
    },function(error){
         return error;})}

我需要添加一些我无法弄清楚的东西。也许只需使用regexp而不是在regexp上使用replace就可以完成。

1 个答案:

答案 0 :(得分:1)

试试这个:

SELECT Replace(REGEXP_SUBSTR(str, '\-([[:alnum:]]\-)+'), '-', ' ') as outstr
FROM (SELECT 'XTT-D-X-K-345ROCKVIEW-CA' AS str FROM dual
  UNION ALL SELECT 'RT-5-345REDE' AS str FROM dual
  UNION ALL SELECT 'FT-5-3-345HOTELWI' AS str FROM dual