SparkSQL中常见函数

替换函数
1、regexp_replace(str,“abc”,“b”)
将str中的abc替换成b

regexp_replace("2.10.100.103.3","2.10.100.103.","") 
结果:3
regexp_replace("2.10.100.103.2","10","4")
结果:2.4.40.43.2

2、translate(“str”,“abc”,“b”)
将str中的a替换成b,并且将str含有字符b,c过滤掉

translate("2.10.100.103.3","2.10","")
结果:33
translate("2.10.100.103.2","1","2")
结果:2.20.200.203.2
translate("2.10.100.103.2","10","4")
结果:2.4.4.43.2

切割函数 split

split("1.10.200.36","\\.")[2]
结果:200

截取字符串 substr(string A, intstart, int len)
返回字符串A从start位置开始,长度为len的字符串

substr(" 1.10.200.36",6,3)
结果:200

通过某字符截取字符串
1.2.10.20.40 截取 1.2.10.20
方法一:

regexp_replace('1.2.10.20.40',concat(".",split('1.2.10.20.40',"\\.")[size(split('1.2.10.20.40',"\\."))-1]),"")

方法二:

regexp_extract('1.2.10.20.40', '([\.0-9]+)(\\.\\d+)',1)

1.2.10.20.40 截取 40

 regexp_extract('1.2.10.20.40', '([\.0-9]+\\.)(\\d+)',2)

你可能感兴趣的:(Spark,sql)