
#pragma once

#include <string>
#include <regex>

void replace_substring(std::string &src, const std::string &substr, const std::string &replacement);

// Returns true if where contains regex
bool regexp_search(const std::string &where, const std::string &regex_str);

std::vector<std::string> regexp_strsplit(const std::string &string_to_split, const std::string &rgx_str);

std::string string_lucase(std::string s, const std::string &strcase);

std::string string_trim(std::string s, const std::string &chars_to_trim, const std::string &rltrim);

std::string string_padd(const std::string & str, int pad_len, char fill_char, bool from_right);

std::string string_substring(const std::string & str, long pos, long count);

size_t string_find_substr(const std::string & str, const std::string & pattern, long pos);
