From 0f17ed01b4fe50e66df4017154397f049db5b0ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anders=20S=C3=B8gaard?= Date: Fri, 17 Sep 2021 08:38:56 +0200 Subject: [PATCH] Use rindex again --- lib/liquid/standardfilters.rb | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/lib/liquid/standardfilters.rb b/lib/liquid/standardfilters.rb index bd2a128f..29cf602b 100644 --- a/lib/liquid/standardfilters.rb +++ b/lib/liquid/standardfilters.rb @@ -298,7 +298,17 @@ module Liquid # Replace the last occurrences of a string with another def replace_last(input, string, replacement) - input.to_s.sub(/.*\K#{Regexp.escape(string.to_s)}/, replacement.to_s) + input = input.to_s + string = string.to_s + replacement = replacement.to_s + + start_index = input.rindex(string) + + return input unless start_index + + output = input.dup + output[start_index, string.length] = replacement + output end # remove a substring