Ruby Filter gsub replace \n



我想用'\n'替换'\\n'

我正在使用gsub方法,但无法取代

ruby
{
code => "@mystring=event.get('stockLines');
@mystring=@mystring.gsub('\n', 'n');"
}

您需要在gsub中使用"\n"而不是"\n"。不同的引号表现不同。

阅读更多

在您的情况下:

@mystring.gsub("\n", "n")

字符串的两种文字形式(单引号或双引号(之间的本质区别在于,双引号允许转义序列,而单引号则不允许!

反斜杠的转义可能有点奇怪。

对于常规Ruby脚本,代码应该是:

@mystring = event.get('stockLines').gsub('\\n', 'n')

在logstash配置中,代码似乎也在字符串中,因此需要再次转义,即:

ruby
{
code => "@mystring = event.get('stockLines').gsub('\\\\\n', '\n');"
}

最新更新