1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 19:38:12 +00:00

AK: Add a keep_empty argument to String[View]::substring{_view}

This commit is contained in:
Sergey Bugaev 2019-09-21 00:43:37 +03:00 committed by Andreas Kling
parent 07ca753124
commit 127d168def
4 changed files with 10 additions and 10 deletions

View file

@ -110,7 +110,7 @@ Vector<String> String::split_limit(const char separator, int limit) const
return v;
}
Vector<StringView> String::split_view(const char separator) const
Vector<StringView> String::split_view(const char separator, bool keep_empty) const
{
if (is_empty())
return {};
@ -121,15 +121,15 @@ Vector<StringView> String::split_view(const char separator) const
char ch = characters()[i];
if (ch == separator) {
int sublen = i - substart;
if (sublen != 0)
if (sublen != 0 || keep_empty)
v.append(substring_view(substart, sublen));
substart = i + 1;
}
}
int taillen = length() - substart;
if (taillen != 0)
if (taillen != 0 || keep_empty)
v.append(substring_view(substart, taillen));
if (characters()[length() - 1] == separator)
if (characters()[length() - 1] == separator && keep_empty)
v.append(empty());
return v;
}