10

是否有 Jekyll 过滤器可以使用正则表达式 (regex) 过滤器替换文本?

我相信“内置”过滤器可以进行replace简单的字符串替换。

4

1 回答 1

17

如果没有(更好的)解决方案,我将添加一个非常简单的插件来解决问题 - 将其_plugins/作为文件放入您的文件夹中regex_filter.rb- 它将正则表达式作为字符串作为第一个参数,并将替换为第二个参数(例如,{{ page.url | replace_regex: '/$', '' }}

module Jekyll
  module RegexFilter
    def replace_regex(input, reg_str, repl_str)
      re = Regexp.new reg_str

      # This will be returned
      input.gsub re, repl_str
    end
  end
end

Liquid::Template.register_filter(Jekyll::RegexFilter)
于 2014-09-12T06:48:14.123 回答