stuff-from-scratch/src/base/core/encoding/StringUtils.h
2023-12-21 09:18:44 +00:00

50 lines
1.4 KiB
C++

#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<String> 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<unsigned char> toBytes(const String& input);
static String toLower(const String& s);
static Vector<String> toLines(const String& input);
static String toPaddedString(unsigned numBytes, unsigned entry);
static String toString(const Vector<unsigned char>& bytes);
};