From edceaadc21ecfd6713b5207e28f67f40f7264758 Mon Sep 17 00:00:00 2001 From: subuzero Date: Fri, 24 Jan 2020 00:25:01 +0530 Subject: [PATCH] Added StartsWith(char32) & EndsWith(char32). --- BeefLibs/corlib/src/String.bf | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/BeefLibs/corlib/src/String.bf b/BeefLibs/corlib/src/String.bf index 54e7eb89..b41a1cc9 100644 --- a/BeefLibs/corlib/src/String.bf +++ b/BeefLibs/corlib/src/String.bf @@ -1723,6 +1723,26 @@ namespace System return Ptr[mLength - 1] == c; } + public bool EndsWith(char32 c) + { + int encodedLen = UTF8.GetEncodedLength(c); + char8* ptr = Ptr; + if (mLength == 0) + return false; + let (c32, _) = UTF8.Decode(ptr + mLength - 1 * encodedLen, encodedLen); + return c32 == c; + } + + public bool StartsWith(char32 c) + { + int encodedLen = UTF8.GetEncodedLength(c); + char8* ptr = Ptr; + if (mLength == 0) + return false; + let (c32, _) = UTF8.Decode(ptr, encodedLen); + return c32 == c; + } + public void ReplaceLargerHelper(String find, String replace) { List replaceEntries = scope List(8192); @@ -3083,4 +3103,4 @@ namespace System } } #endif -} \ No newline at end of file +}