1
0
mirror of https://github.com/SerenityOS/serenity synced 2024-07-05 21:55:08 +00:00

AK: Add StringView::count(char)

This commit is contained in:
Dan Klishch 2023-08-14 21:55:36 -04:00 committed by Ali Mohammad Pur
parent b40ab55830
commit 3556c27d2d
3 changed files with 16 additions and 0 deletions

View File

@ -593,6 +593,16 @@ size_t count(StringView str, StringView needle)
return count;
}
size_t count(StringView str, char needle)
{
size_t count = 0;
for (size_t i = 0; i < str.length(); ++i) {
if (str[i] == needle)
count++;
}
return count;
}
}
}

View File

@ -107,6 +107,7 @@ DeprecatedString replace(StringView, StringView needle, StringView replacement,
ErrorOr<String> replace(String const&, StringView needle, StringView replacement, ReplaceMode);
size_t count(StringView, StringView needle);
size_t count(StringView, char needle);
}

View File

@ -330,6 +330,11 @@ public:
return StringUtils::count(*this, needle);
}
[[nodiscard]] size_t count(char needle) const
{
return StringUtils::count(*this, needle);
}
template<typename... Ts>
[[nodiscard]] ALWAYS_INLINE constexpr bool is_one_of(Ts&&... strings) const
{