Splunk:删除列中特定字符串后的所有文本

Splunk: Removing all text after a specific string in a column

我有一个字段,其中所有值都具有以下格式:

知识:xyz,id:2907129

身份证号总是变的,然而,我只想要xyz的值。

我使用以下方法删除了 "Knowledge:"e

eval url=replace (url, "Open_KnowledgeZone:", "") 

对于 id 部分,在 eval 替换函数中使用“,id*”不起作用。

您需要使用正则表达式。类似于:

rex field=url "(?<=Knowledge:)(?<AnyFieldName>.*)(?=,)"

其中 <AnyFieldName> 是您希望结果字段的名称。这将 select "Knowledge:" 之后和“,”之前的所有字符。

这是在 Splunk 之外运行的正则表达式:

https://regex101.com/r/ofW0a1/1