#pragma once #include "ByteTypes.h" #include "String.h" #include "Vector.h" class StringUtils { public: static constexpr char LEFT_BRACKET = '<'; static constexpr char RIGHT_BRACKET = '>'; static constexpr char FORWARD_SLASH = '/'; static constexpr char BACK_SLASH = '\\'; static constexpr char QUESTION_MARK = '?'; static constexpr char EQUALS = '='; static constexpr char DOUBLE_QUOTE = '"'; static constexpr char SINGLE_QUOTE = '\''; static constexpr char COLON = ':'; static std::size_t countFirstConsecutiveHits(const String& input, char c); static bool isAlphaNumeric(char c); static bool isAlphabetical(char c); static bool isSpace(char c); static bool isWhitespaceOnly(const String& input); static String removeUpTo(const String& input, const String& prefix); static Vector split(const String& input); static bool startsWith(const String& input, const String& prefix, bool ignoreWhitespace = false); static String stripSurroundingWhitepsace(const String& input); static String stripQuotes(const String& input); static Vector toBytes(const String& input); static String toLower(const String& s); static Vector toLines(const String& input); static String toPaddedString(unsigned numBytes, unsigned entry); static String toString(const Vector& bytes); };