KQL如何正确解析方括号与双引号包裹的字符串
KQL解析
["<em>name</em>"]格式字符串方案 方案1:修正parse语句匹配规则
你之前加双引号匹配返回空,是因为没有正确处理KQL字符串中的双引号转义,直接用单引号包裹固定分隔符即可,无需额外转义:
| parse Tags_s with '["' Tags '"]'
执行后Tags字段会直接返回<em>name</em>,不会残留末尾的方括号与引号。
如果需要剔除内容里的<em>标签获取纯文本,可以追加替换逻辑:
| extend Tags = replace(@'<em>|</em>', '', Tags)
方案2:JSON解析(稳定性更高,推荐)
你需要解析的字符串是标准序列化JSON数组格式,用JSON解析函数处理比硬匹配字符串容错率更高,不会因为内容包含特殊字符匹配失效,也兼容数组多值场景:
// 提取数组第一个元素,保留<em>标签 | extend Tags = tostring(parse_json(Tags_s)[0]) // 一步到位提取纯文本,剔除<em>标签 | extend Tags = replace(@'<em>|</em>', '', tostring(parse_json(Tags_s)[0]))
内容的提问来源于stack exchange,提问作者Hudson Carpenter
相关产品推荐
相关产品推荐

