库斯托的搜索替换

问题描述 投票:0回答:1

用例。从 Azure Application Insights 结果中删除一个字符串

这是一个简单的问题,但网上的例子很少,作为一个新用户,而且在Regex方面的经验有限(但正在学习),我正在努力。

我如何删除所有的 | Articles 在下表中,这是我从 Azure Application Insights 导出的一个例子?

enter image description here

这并没有成功。

| extend name=replace(@' | Articles', @'', name)

我用微软文档中的一个例子摆弄了不少,但没有成功(我知道这种解释是不正确的)。

| extend str=strcat(' | Articles', tostring(name))
| extend replaced=replace(@' | Articles', @'', str)

谢谢你的任何见解。

azure azure-application-insights kusto
1个回答
2
投票

你最初的尝试没有成功的原因是,第一个参数到 replace() 是一个正则表达式,如果你有管道(|),你需要正确地转义,使用反斜杠(\).

比如说,你可以选择一个不需要使用正则表达式的解决方案。

datatable(s:string)
[
    "Article 1 | Articles",
    "Article 2",
    "Article 3 | Articles" 
]
| extend replaced=replace(@' \| Articles', @'', s)

理想情况下,如果可能的话,你会选择一个不需要使用正则表达式的解决方案。

例如:如果可能,你会选择不需要使用正则表达式的解决方案。

datatable(s:string)
[
    "Article 1 | Articles",
    "Article 2",
    "Article 3 | Articles" 
]
| extend i = indexof(s, " | Articles")
| project s = case(i == -1, s, substring(s, 0, i)) 
© www.soinside.com 2019 - 2024. All rights reserved.