У меня есть строка, которой нужно манипулировать, чтобы она была строчной, и заменяю некоторые символы пробелами, используя регулярное выражение.
Эквивалент Java:
str.toLowerCase();
str.replaceAll("[^a-z]", "");
str.replaceAll("\\s", "");
В пределах ограничения c++03
и без использования Boost или другой библиотеки, как я могу достичь той же функциональности в C ++? Версия g ++ сервера, на котором я работаю: 4.8.5 20150623
.
Строчная строчка проста:
char asciiToLower(char c) {
if (c <= 'Z' && c >= 'A') {
return c - ('A' - 'a');
}
return c;
}
std::string manipulate(std::string str) {
for (std::string::iterator it = str.begin(); it != str.end(); ++it) {
it = asciiToLower(it);
}
}
А как насчет двух других?