如何在KQL中去除字符串里第二个小数点及之后的重复内容?
解决方案
针对Kusto查询中的数据处理需求,这里提供两种实现方法,均可将Value列中第二个小数点及其之后的数字移除,得到如"60.12 %"这类预期格式:
方法一:使用split()函数分割拼接
通过split()按小数点分割字符串,取前两部分拼接后添加百分号:
let data = datatable(Name:string, Value:string) [ "Device_1", "60.12.12 %", "Device_2", "40.12.12 %", "Device_3", "50.12.12 %", "Device_4", "48.33.33 %" ]; data | extend TrimmedValue = strcat(split(Value, '.')[0], ".", split(Value, '.')[1], " %")
方法二:使用indexof()定位截取
先定位第一个和第二个小数点的位置,截取到第二个小数点之前的内容后拼接百分号:
let data = datatable(Name:string, Value:string) [ "Device_1", "60.12.12 %", "Device_2", "40.12.12 %", "Device_3", "50.12.12 %", "Device_4", "48.33.33 %" ]; data | extend FirstDotPos = indexof(Value, '.'), SecondDotPos = indexof(Value, '.', FirstDotPos + 1) | extend TrimmedValue = strcat(substring(Value, 0, SecondDotPos), " %")
以上两种方法执行后,TrimmedValue列会生成符合预期的处理结果。
内容的提问来源于stack exchange,提问作者Noobie2021
相关产品推荐
相关产品推荐

