暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

GBase 8a之替换字符串中中文的方法

原创 GBASE数据库 2026-05-14
121

主要解决问题

字符串中存在中文,将中文识别出来,并替换为想要的字符串。

实现原理

(1)用REGEXP_REPLACE函数,将字符串里的中文字符替换为所需要的字符串。

(2)正则表达式[\u4e00-\u9fa5]用于匹配中文字符。

(3)由于识别到的中文,每个中文字符占3个字节(折合一个英文字符),这里需要去重。正则表达式(Chinese)+的含义是匹配一个或多个连续的Chinese字符串。其中,(Chinese)是一个捕获组,它将Chinese当作一个整体;+表示前面的元素(也就是捕获组里的Chinese)出现一次或多次。再次REGEXP_REPLACE函数嵌套,即可实现去重效果。

 实现方式


gbase> select a,REGEXP_REPLACE( REGEXP_REPLACE(a,'[^\u4e00-\u9fa5]', 'Chinese') ,'(Chinese)+', 'Chinese' ) from zhao ;
+---------------+--------------------------------------------------------------------------------------------+
| a             | REGEXP_REPLACE( REGEXP_REPLACE(a,'[^\u4e00-\u9fa5]', 'Chinese') ,'(Chinese)+', 'Chinese' ) |
+---------------+--------------------------------------------------------------------------------------------+
| abc           | abc                                                                                        |
| ab赵钱孙c     | abChinesec                                                                                 |
| abc周润发     | abcChinese                                                                                 |
| 周星驰haha    | Chinesehaha                                                                                |
+---------------+--------------------------------------------------------------------------------------------+
4 rows in set (Elapsed: 00:00:00.06)

 

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论