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

Logstash中如何移除字符串末尾的斜杠(/)?

在Logstash中使用Ruby移除字符串末尾斜杠的解决方案

你的代码没生效主要有两个问题:一是变量名拼写错误(evnet应为event),二是修改后的值没有写回事件中。以下是修正和优化后的实现方式:

基础修正版

先修复拼写错误,补上写回事件的逻辑,同时增加空值/非字符串判断避免报错:

url = event.get("[url]")
if url.is_a?(String) && !url.empty? && url[-1] == '/'
    url.slice!(-1)
    event.set("[url]", url)
end

更简洁的实现(推荐)

单斜杠移除(用chomp)

Ruby的chomp方法专门用于移除字符串末尾的指定字符,只会移除一次,完美匹配你的需求:

url = event.get("[url]")
if url.is_a?(String)
    event.set("[url]", url.chomp('/'))
end

多斜杠移除(用正则)

如果需要处理末尾有多个斜杠的场景(比如test///要转为test),可以用正则替换:

url = event.get("[url]")
if url.is_a?(String)
    event.set("[url]", url.gsub(/\/+$/, ''))
end

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 16:57:14