string_search: add `Match::text_before` and `Match::text_after`
authorJean Privat <jean@pryen.org>
Wed, 11 Nov 2015 04:19:54 +0000 (23:19 -0500)
committerJean Privat <jean@pryen.org>
Wed, 11 Nov 2015 04:19:54 +0000 (23:19 -0500)
Signed-off-by: Jean Privat <jean@pryen.org>

lib/core/text/string_search.nit

index ffd0999..b143e71 100644 (file)
@@ -277,6 +277,22 @@ class Match
        # ~~~
        redef fun to_s do return string.substring(from,length)
 
+       # The content of `string` before the match
+       #
+       # ~~~
+       # var m = "hello world".search("lo")
+       # assert m.text_before == "hel"
+       # ~~~
+       fun text_before: String do return string.substring(0, from)
+
+       # The content of `string` after the match
+       #
+       # ~~~
+       # var m = "hello world".search("lo")
+       # assert m.text_after == " world"
+       # ~~~
+       fun text_after: String do return string.substring_from(after)
+
        init
        do
                assert positive_length: length >= 0