You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Kusto中从字符串列记录中提取整数值并生成新列?

Kusto提取产品名中整数重量实现方案

在Kusto中完全可以实现该需求,无需硬编码固定数值,使用内置正则提取函数即可自动识别字符串中的整数,生成独立的Value列。

实现逻辑

利用extract()函数通过正则规则匹配字符串中连续的数字片段,再通过toint()将提取到的数字内容转为整数类型即可,该方案兼容重量单位大小写差异、数字与单位间的空格差异,不需要针对单个产品线写单独匹配规则。

可直接运行的示例代码

let data = datatable(ProducutName:string)
            [
                "Amigo Patchi 50 KG",
                "Amigo Patchi 50 KG",
                "Amigo Patchi 50 KG",
                "Chocolate Bar 25Kg",
                "Chocolate Bar 25Kg",  
                "Chocolate Bar 25Kg",  
                "Brownies CupCakes 100Kg",
                "Brownies CupCakes 100Kg",
                "Brownies CupCakes 100Kg"
            ];
data
// 正则提取连续数字,转为整数类型生成Value列
| extend Value = toint(extract(@"(\d+)", 1, ProducutName))
// 修正原表列名笔误,输出要求的两列结果
| project ProductName = ProducutName, Value

规则说明

  • 正则表达式(\d+)用于匹配字符串中出现的1个及以上连续数字字符,自动捕获第一组匹配到的数字内容,适配任意整数值场景
  • 若后续遇到带小数的重量值,只需要把正则替换为(\d+\.?\d*),再用toreal()替换toint()即可提取浮点型重量
  • 该写法不会受单位书写格式影响,不管单位是KG/kg/Kg、和数字之间是否存在空格,都能正常提取数字值

内容的提问来源于stack exchange,提问作者Noobie2021

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 10:12:21