hive 统计字符串中指定字符的个数
需求
现有一个字符串,使用hivesql 统计指定字符出现的次数,比如一个字符串 “love hive”,现在需要统计“ve” 在字符串中出现的个数
select "love hive" str; love hive
实现方案
1、先将目标字符串里的匹配字符串替换成空
select regexp_replace("love hive","ve",'') str; lo hi
2、使用函数第一步的结果字符串的长度,在计算原有字符串的长度,两者进行求差值
select abs(length(regexp_replace("love hive", "ve", '')) - length("love hive")) str_l; 4
4、用差值/匹配字符串的长度即可
select abs(length(regexp_replace("love hive", "ve", '')) - length("love hive")) / length("ve") str_l; 2
可见:匹配字符串出现了两次。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示