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

可見:匹配字符串出現了兩次。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM