【发布时间】:2018-01-03 18:25:19
【问题描述】:
我有一个不同格式的字符串,如下所示:
UserId=1;IP Address=85.154.221.54;Device Type=Chrome57
Device Type=Chrome57;IP Address=85.154.221.54
Device Type=Chrome57
如果没有匹配,如何提取 IP 地址并返回空字符串?
我尝试了以下方法,但如果没有匹配,它会返回字符串本身。
select regexp_replace('Error=0;UserId=-1;IP Address=85.154.221.54;Device Type=Chrome57', '.*IP Address=(.+);.*', '\1') from dual;
【问题讨论】:
-
空字符串还是NULL好吗?
-
两者都适合我
-
@WiktorStribiżew 这是 Oracle,所以空字符串为空。
-
@WilliamRobertson 实际上,我已经看到一些问题,其中 OP 专门询问“空字符串”。所以,我只想说清楚,以避免任何进一步的术语和其他“争议”。
-
@WiktorStribiżew - 啊,我明白你的意思了 :)