From da2b9e52c61cd6df4bbefc8b5711af4c43610f7b Mon Sep 17 00:00:00 2001 From: Alexandre Terrasa Date: Tue, 6 Jun 2017 01:44:15 -0400 Subject: [PATCH] lib/core: introduce replace_first in text/string_search Signed-off-by: Alexandre Terrasa --- lib/core/text/string_search.nit | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lib/core/text/string_search.nit b/lib/core/text/string_search.nit index 6d6302e..7648816 100644 --- a/lib/core/text/string_search.nit +++ b/lib/core/text/string_search.nit @@ -482,6 +482,15 @@ redef class Text return self.split_with(pattern).join(string) end + # Replace the first occurrence of `pattern` with `string` + # + # assert "hlelo".replace_first("le", "el") == "hello" + # assert "hello".replace_first('l', "") == "helo" + fun replace_first(pattern: Pattern, string: Text): String + do + return self.split_once_on(pattern).join(string) + end + # Does `self` contains at least one instance of `pattern`? # # assert "hello".has('l') -- 1.7.9.5