Easy String Manipulation
Эта функция принимает строку и возвращает количество слов в ней. Она использует std::istringstream
, чтобы разделить строку на отдельные слова, и просто подсчитывает их количество с помощью счетчика. Затем функция возвращает это количество.
Эта функция проверяет, заканчивается ли строка str
заданным суффиксом suffix
. Она сравнивает последние символы двух строк, и если они совпадают, то возвращает true
, в противном случае возвращает false
. Если длина суффикса больше, чем длина строки, функция сразу возвращает false
.
Эта функция извлекает все цифры из строки str
. Она проходит по каждому символу в строке и, если символ является цифрой, добавляет его к результирующей строке. В конце функция возвращает результирующую строку, содержащую только цифры.
Эта функция находит первое вхождение подстроки search
в строке str
. Она использует метод find
для поиска подстроки и возвращает позицию первого вхождения. Если подстрока не найдена, функция возвращает -1.
Эта функция проверяет, является ли строка str
пустой. Она просто вызывает метод empty()
для проверки, и если строка пустая, то возвращает true
, в противном случае возвращает false
.
Эта функция проверяет, является ли строка str
числом. Она проверяет, что строка не пустая и содержит только цифры с помощью метода std::all_of
. Если условие выполняется, функция возвращает true
, в противном случае возвращает false
.
Эта функция проверяет, является ли строка str
валидным email-адресом. Она использует регулярное выражение, чтобы проверить, соответствует ли строка заданному шаблону email-адреса. Если условие выполняется, функция возвращает true
, в противном случае возвращает false
.
Эта функция проверяет, является ли строка str
валидным IP-адресом. Она также использует регулярное выражение для проверки, соответствует ли строка заданному шаблону IP-адреса. Если условие выполняется, функция возвращает true
, в противном случае возвращает false
.
Эта функция проверяет, является ли строка str
валидным URL-адресом. Она проверяет, начинается ли строка с "http://" или "https://", и если условие выполняется, функция возвращает true
, в противном случае возвращает false
.
Эта функция объединяет все строки из вектора strings
в одну строку с использованием разделителя delimiter
. Она проходит по каждому элементу вектора и добавляет его к результирующей строке, а также добавляет разделитель после каждого элемента, кроме последнего. В конце функция возвращает результирующую строку, объединяя все строки из вектора.
Эта функция добавляет заполнитель paddingChar
слева от строки str
, чтобы общая ширина строки была равна width
. Если длина строки str
уже больше или равна width
, то функция просто возвращает исходную строку. В противном случае, создается строка padding
с длиной paddingLength
, которая содержит только символ заполнителя paddingChar
. Затем строка padding
добавляется перед строкой str
и результат возвращается.
Эта функция удаляет все пробелы из строки str
. Она создает новую пустую строку withoutWhitespace
и проходит по каждому символу в исходной строке str
. Если символ не является пробелом (проверка с использованием std::isspace
), то символ добавляется к результирующей строке withoutWhitespace
. В конце функция возвращает строку без пробелов.
Эта функция заменяет все вхождения подстроки search
в строке str
на подстроку replacement
. Она создает новую строку result
, которая инициализируется значением исходной строки str
. Затем функция находит первую позицию вхождения search
в строке result
с помощью метода find
. Пока найдено вхождение, функция заменяет подстроку search
на replacement
при помощи метода replace
и обновляет позицию для следующего поиска. В конце функция возвращает измененную строку result
.
Эта функция заменяет все вхождения подстроки search
в строке str
на подстроку replacement
. Она создает новую строку result
, которая инициализируется значением исходной строки str
. Затем функция находит все позиции вхождения search
в строке result
с помощью метода find
. Пока найдено вхождение, функция заменяет подстроку search
на replacement
и обновляет позицию для следующего поиска. В конце функция возвращает измененную строку result
.
replaceMultiple(const std::string& str, const std::unordered_map<std::string, std::string>& replacements)
Эта функция заменяет все указанные пары ключ-значение из replacements
в строке str
. Она создает новую строку replaced
, которая инициализируется значением исходной строки str
. Затем функция проходит по каждой паре ключ-значение в replacements
и находит все вхождения ключа replacement.first
в строке replaced
с помощью метода find
. Пока есть вхождения, функция заменяет ключ на соответствующее значение replacement.second
и обновляет позицию для следующего поиска. В конце функция возвращает измененную строку replaced
.
Эта функция переворачивает строки в строке str. Она использует std::istringstream, чтобы разделить строку на отдельные строки. Затем функция проходит по каждой строке с помощью цикла while, переворачивает символы в каждой строке с помощью std::reverse и добавляет перевернутую строку к результату result. При добавлении каждой строки, кроме первой, функция добавляет переход на новую строку. В конце функция возвращает результат.
Эта функция переворачивает слова в строке str. Она использует std::istringstream, чтобы разделить строку на отдельные слова. Внутри цикла while она переворачивает каждое слово с помощью std::reverse и добавляет его к результирующей строке result. После каждого слова она добавляет пробел. В конце функция удаляет последний лишний пробел с помощью result.pop_back() и возвращает измененную строку.
Эта функция перемешивает символы в строке str. Она создает копию исходной строки str в переменной result. Затем она случайным образом перемешивает символы в result с помощью std::random_shuffle. В конце функция возвращает измененную строку result.
Эта функция разделяет строку str на подстроки, используя указанный разделитель delimiter. Она создает вектор tokens для хранения полученных подстрок. Затем она находит позицию первого вхождения разделителя в строке str с помощью find и проходит через строку, разделяя ее на подстроки и добавляя их в вектор tokens. Когда все подстроки разделены, функция добавляет последнюю подстроку, оставшуюся после последнего разделителя. В конце функция возвращает вектор tokens с результатом разделения.
Эта функция проверяет, начинается ли строка str с заданного префикса prefix. Она использует метод compare для сравнения префикса с первыми символами строки. Если результат сравнения равен 0, то строка начинается с префикса, и функция возвращает true, в противном случае возвращает false.
Эта функция преобразует целое число number в его двоичное представление в виде строки. Она инициализирует пустую строку binary и проходит по числу в цикле while. В каждой итерации она добавляет символ '0' или '1' к строке binary, в зависимости от остатка от деления числа на 2. В конце функция переворачивает строку binary с помощью std::reverse и возвращает ее.
Эта функция преобразует строку str в формат CamelCase. Она инициализирует пустую строку result и флаг capitalizeNext в значение false. Затем функция проходит по каждому символу в строке str с использованием цикла for. Если символ равен '_', флаг capitalizeNext устанавливается в значение true. В противном случае, символ добавляется к результирующей строке result с учетом того, нужно ли его сделать заглавным (std::toupper). Флаг capitalizeNext сбрасывается после добавления символа. В конце функция возвращает результат.
Эта функция преобразует строку str в значение типа double с помощью std::stod и возвращает это значение.
Эта функция преобразует целое число number в его шестнадцатеричное представление в виде строки. Она использует std::stringstream для создания потока, в который записывается число в шестнадцатеричном формате с помощью std::hex. Затем строка с шестнадцатеричным представлением возвращается.
Эта функция преобразует строку str в значение типа int с помощью std::stoi и возвращает это значение.
Эта функция преобразует строку str в нижний регистр. Она создает копию исходной строки str в переменной result. Затем с помощью std::transform она применяет функцию ::tolower к каждому символу в строке result, чтобы преобразовать его в нижний регистр. В конце функция возвращает измененную строку result.
Эта функция преобразует строку str в формат snake_case. Она инициализирует пустую строку result. Затем функция проходит по каждому символу в исходной строке str с использованием цикла for. Если символ является заглавной буквой (проверка с использованием std::isupper), то функция добавляет символ '_' перед символом в нижнем регистре (полученным с помощью std::tolower). В противном случае, символ просто добавляется к результирующей строке result. В конце функция возвращает результат.
Эта функция преобразует строку str в верхний регистр. Она создает копию исходной строки str в переменной result. Затем с помощью std::transform она применяет функцию ::toupper к каждому символу в строке result, чтобы преобразовать его в верхний регистр. В конце функция возвращает измененную строку result.
Эта функция удаляет пробельные символы из начала и конца строки str. Она инициализирует переменные start и end, которые находят первую позицию первого непробельного символа и последнюю позицию последнего непробельного символа в строке str. Если найдены начальная и конечная позиции (значение start и end не равно std::string::npos), то функция возвращает подстроку от start до end, включительно. Если пробельные символы отсутствуют, функция возвращает пустую строку.
Эта функция преобразует первую букву строки str в верхний регистр. Она создает копию исходной строки str в переменной capitalized. Затем функция проверяет, что строка не пустая, и если это так, то изменяет первый символ строки на его верхний регистр с помощью std::toupper. В конце функция возвращает измененную строку capitalized.
Эта функция преобразует первую букву каждого слова в строке str в верхний регистр. Она использует std::istringstream, чтобы разделить строку на отдельные слова. Затем функция проходит по каждому слову с помощью цикла while, изменяет первый символ слова на его верхний регистр с помощью std::toupper и добавляет слово к результирующей строке result. При добавлении каждого слова, кроме первого, функция добавляет пробел в начале слова. В конце функция возвращает результат.
Эта функция возвращает символ на заданной позиции index в строке str. Если значение индекса index находится в допустимых границах строки (от 0 до str.length() - 1 включительно), функция возвращает символ на заданной позиции. Если значение индекса выходит за пределы строки, функция возвращает нулевой символ \0.
Эта функция проверяет, содержит ли строка str подстроку subStr. Она использует метод find для поиска подстроки в строке. Если подстрока найдена (возвращаемое значение не равно std::string::npos), функция возвращает true, в противном случае возвращает false.
Эта функция подсчитывает количество вхождений символа character в строку str. Она инициализирует счетчик count в нуле и проходит по каждому символу в строке str. Если символ совпадает с искомым символом character, функция увеличивает счетчик на единицу. В конце функция возвращает значение счетчика.