1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 23:17:45 +00:00

AK: Add String::split_view(Function<bool(char)>)

This allows you to split around a custom separator, and enables
expressive code like this:

    string.split_view(is_ascii_space);
This commit is contained in:
Andreas Kling 2022-02-25 16:46:32 +01:00
parent 7ed6549c8b
commit dd7eb3d6d8
2 changed files with 9 additions and 2 deletions

View file

@ -150,6 +150,7 @@ public:
[[nodiscard]] Vector<String> split_limit(char separator, size_t limit, bool keep_empty = false) const;
[[nodiscard]] Vector<String> split(char separator, bool keep_empty = false) const;
[[nodiscard]] Vector<StringView> split_view(char separator, bool keep_empty = false) const;
[[nodiscard]] Vector<StringView> split_view(Function<bool(char)> separator, bool keep_empty = false) const;
[[nodiscard]] Optional<size_t> find(char needle, size_t start = 0) const { return StringUtils::find(*this, needle, start); }
[[nodiscard]] Optional<size_t> find(StringView needle, size_t start = 0) const { return StringUtils::find(*this, needle, start); }