В этом примере «%1» заменяется словом «permissive» (либеральное), «%2» заменяется словом «society» (общество), «%3» заменяется на «1950» и «%4» заменяется на «1970». В результате получаем «permissive society (1950s — 1970s)» (либеральное общество в 1950—70 годах). Функция
QString может преобразовывать числа в строки, используя статическую функцию
str = QString::number(59.6);
Или это можно сделать при помощи функции
str.setNum(59.6);
Обратное преобразование строки в число осуществляется при помощи функций
bool ok;
double d = str.toDouble(&ok);
Этим функциям передается необязательный параметр—ссылка на переменную типа
Имея некоторую строку, нам часто приходится выделять какую-то ее часть. Функция
QString str = "polluter pays principle";
qDebug() << str.mid(9, 4);
Существуют также функции
QString str = "polluter pays principle";
qDebug() << str.left(8) << " " << str.right(9);
Если требуется определить, содержится ли в строке конкретный символ, подстрока или соответствует ли строка регулярному выражению, мы можем использовать один из вариантов функции
QString str = "the middle bit";
int i = str.indexOf("middle");
В результате
Если мы просто хотим проверить начальные или конечные символы строки, мы можем использовать функции
if (url.startsWith("http:") && url.endsWith(".png"))
Это проще и быстрее, чем:
if (url.left(5) == "http:" && url.right(4) == ".png")
Оператор сравнения строк
if (fileName.toLower() == "readme.txt")
Если мы хотим заменить определенную часть строки другой подстрокой, мы можем использовать функцию
QString str= "a cloudy day";
str.replace(2, 6, "sunny");
Результатом является «sunny day» (солнечный день). Этот программный код может быть переписан с применением функций
str.remove(2, 6);
str.insert(2, "sunny");
Во-первых, мы удаляем шесть символов, начиная с позиции 2, и в результате получаем строку «а_ _day» (с двумя пробелами), затем мы вставляем слово «sunny» в позицию 2.
Существуют перегруженные версии функции
str.replace("&", "&");
Часто требуется удалять из строки пробельные символы (пробелы, символы табуляции и перехода на новую строку).
QString str = " ВОВ \t THE \nDOG \n";
qDebug() << str.trimmed();
Строку
_ _ _ВОВ_\t_THE_ _\nDOG_\n
Строка, возвращаемая функцией
ВОВ_\t_THE_ _\nDOG