【发布时间】:2020-01-15 07:08:21
【问题描述】:
我想用空格和特殊字符(如果有的话)分割字符串。 例如:用于表示移动交换中心(信号强度)。
目前我正在使用正则表达式来拆分字符串,但无法同时实现空格和特殊字符的拆分。
insert into tmp(word)
select regexp_substr('For expressing mobile switching center
(signal strength).', '(.*?)([[:space:]]|$)', 1, level, null, 1 ) as token
from dual
connect by level <= regexp_count('For expressing mobile switching center (signal strength).', '[[:space:]/:]+') + 1
CREATE TABLE TMP(WORD VARCHAR2(4000));
Current Output: For
expressing
mobile
switching
center
(signal
strength).
Expected Output: For
expressing
mobile
switching
center
(
signal
strength
)
.
更新代码:
insert into tmp(word)
select regexp_substr('For expressing mobile switching center (signal strength).', '(.*?)([[:space:]()]|$)', 1, level, null, 1 ) as token
from dual
connect by level <= regexp_count('For expressing mobile switching center (signal strength).', '(.*?)([[:space:]()]|$)')+ 1
Result:
For
expressing
mobile
switching
center
(null)
signal
strength
.
(null)
(null)
【问题讨论】:
-
你需要在你的角色类中包含
()Regex Demo -
我试过这个并更新了上面的代码。看来我还需要修改。你能看一下吗?
标签: sql regex oracle substring