我有一个alhpanumeric字符串。我也有一个号码。该字符串将始终以此数字开头。如何将此数字与字符串分开并获取字符串的剩余部分?
e.g。 string => 21fgggg21.lkkk和number => 21
结果=> fgggg21.lkkk
或
的字符串=> 215699898.55fff和number => 2
结果=> 15699898.55fff
任何暗示都将受到赞赏。 感谢。
答案 0 :(得分:3)
substr(string, length(number)+1)
或
regexp_replace(string, '^'||number)
答案 1 :(得分:2)
您也可以使用REGEXP_REPLACE
。要从字符串的开头删除“21”:
SELECT REGEXP_REPLACE('21fgggg21.lkkk', '^21') FROM DUAL;
REGEXP_REPLA
------------
fgggg21.lkkk
从字符串的开头删除“2”:
SELECT REGEXP_REPLACE('215699898.55fff', '^2') FROM DUAL;
REGEXP_REPLACE
--------------
15699898.55fff
作为解释......
^21
表示“在字符串开头匹配21”。REGEXP_REPLACE
有一个可选的第三个参数,用于替换匹配的字符串。因为您只想删除匹配的字符串,所以可以省略该参数,该参数将其替换为任何内容。答案 2 :(得分:0)
如果您只是想选择它,可以使用substr和instr的组合。
substr(string, instr(string, 'number') + 1, len(string))
您的结果应该基本上是在找到号码后开始的字符串。