Как удалить первые два символа QString
Как бы я удалил первые два символа QString или если бы мне пришлось поместить его в термины непрофессионала Stackrus:
QString str = "##Name" //output: ##Name
в
output: Name
До сих пор я использовал этот маленький кусочек кода:
if(str.contains("##"))
{
str.replace("##","");
}
..но это не работает, так как мне нужно было бы иметь "##" в некоторых других строках, но не в начале.
Первые два символа также могут быть "%$" и "#@", и это в основном причина, по которой мне нужно удалить первые два символа.
Есть идеи?
3 ответа
Это синтаксис для удаления двух первых символов.
str.remove(0, 2);
Вы можете использовать QString::mid
функция для этого:
QString trimmed = str.mid(2);
Но если вы хотите изменить строку на месте, вам лучше использовать QString::remove
как другие предложили.
Вы можете использовать удалить (const QRegExp &rx)
Удаляет все вхождения регулярного выражения rx в строке и возвращает ссылку на строку. Например:
QString str = "##Name" //output: ##Name
str.remove(QRegExp("[#]."));
//strr == "Name"