Search the last occurence of the text t before up_to.

assert "bobbob".search_last_up_to("b", 3).from == 2
assert "bobbob".search_last_up_to("b", 6).from == 5
assert "bobbob".search_last_up_to("b", 0) == null

Property definitions

core :: string_search $ Text :: search_last_up_to
	# Search the last occurence of the text `t` before `up_to`.
	#
	#     assert "bobbob".search_last_up_to("b", 3).from == 2
	#     assert "bobbob".search_last_up_to("b", 6).from == 5
	#     assert "bobbob".search_last_up_to("b", 0) == null
	fun search_last_up_to(t: Text, up_to: Int): nullable Match do
		var i = up_to - t.length

		while i >= 0 do
			if substring(i, t.length) == t then
				return new Match(self.to_s, i, t.length)
			end
			i -= 1
		end
		return null
	end
lib/core/text/string_search.nit:385,2--400,4