This commit is contained in:
Krzosa Karol
2025-12-25 11:52:02 +01:00
parent b98d14f9dd
commit 2f638c731a
3 changed files with 86 additions and 33 deletions

View File

@@ -350,6 +350,48 @@ API bool Chop(String *string, String ending) {
return false;
}
API String SkipNumberEx(String *string) {
String col = {string->data, 0};
for (int64_t i = 0; i < string->len; i += 1) {
if (IsDigit(string->data[i])) {
col.len += 1;
} else {
break;
}
}
*string = Skip(*string, col.len);
return col;
}
API Int SkipNumber(String *string) {
String col = SkipNumberEx(string);
if (col.len == 0) return -1;
Int result = strtoll(col.data, NULL, 10);
return result;
}
API String SkipUntil(String *string, String str) {
String begin = *string;
begin.len = 0;
for (; string->len; begin.len += 1) {
String match = GetPrefix(*string, str.len);
if (StartsWith(match, str)) break;
*string = Skip(*string, 1);
}
return begin;
}
API String SkipWhitespace(String *string) {
String begin = {string->data, 0};
for (Int i = 0; i < string->len; i += 1) {
if (!IsWhitespace(string->data[i])) break;
*string = Skip(*string, 1);
begin.len += 1;
}
return begin;
}
API String ChopNumberEx(String *string) {
String col = {};
for (int64_t i = string->len - 1; i >= 0; i -= 1) {

View File

@@ -356,7 +356,6 @@ API Int GetSize(Array<String16> array) {
return result;
}
API String16 SkipNumberEx(String16 *string) {
String16 col = {string->data, 0};
for (int64_t i = 0; i < string->len; i += 1) {