问题描述
嗨,汤姆,
我想在一列中的数字和字母之间添加空格。
例如: somestreet 22a-> Somestreet 22 A
旧街5d-> 旧街5 D
其他新树134B-> 其他新街134 B
同样,对于一列中的所有此类记录。
你能帮我这个吗?
提前感谢 :-)
我想在一列中的数字和字母之间添加空格。
例如: somestreet 22a-> Somestreet 22 A
旧街5d-> 旧街5 D
其他新树134B-> 其他新街134 B
同样,对于一列中的所有此类记录。
你能帮我这个吗?
提前感谢 :-)
专家解答
一点正则表达式就可以了:
这意味着:
-([[:digit:]] )([[:alpha:]] ) => 搜索一个或多个数字,后跟一个或多个字母
-\ 1 \ 2 => 返回第一组 (数字)。后面是一个空格。其次是第二组 (字母)
with rws as ( select 'somestreet 22a' str from dual union all select 'oldstreet 5d' str from dual union all select 'othernewtreet 134B' from dual ) select regexp_replace(str, '([[:digit:]]+)([[:alpha:]]+)', '\1 \2') new_str from rws; NEW_STR somestreet 22 a oldstreet 5 d othernewtreet 134 B
这意味着:
-([[:digit:]] )([[:alpha:]] ) => 搜索一个或多个数字,后跟一个或多个字母
-\ 1 \ 2 => 返回第一组 (数字)。后面是一个空格。其次是第二组 (字母)
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




