web-dev-qa-db-ja.com

QStringの最初の2文字を削除する方法

QStringの最初の2文字を削除する方法、またはStackOverflowsの専門用語を配置する必要がある場合:

QString str = "##Name" //output: ##Name

output: Name

これまでのところ、私はこの小さなコードを使用しました:

if(str.contains("##"))
{
    str.replace("##","");
}

..しかし、他の一部の文字列では"##"を使用する必要があるため機能しませんが、最初は使用できません。

最初の2文字が"%$""#@"になることもあり、そのほとんどが最初の2文字を削除する必要がある理由です。

何か案は?

9
Joe Carr

これは、最初の2文字を削除する構文です。

str.remove(0, 2); 
8
PLAYBOY

QString::mid このための関数:

QString trimmed = str.mid(2);

ただし、文字列を適切に変更したい場合は、 QString::remove 他の人が示唆したように。

8
paddy

remove(const QRegExp&rx) を使用できます

文字列内の正規表現rxのすべての出現を削除し、文字列への参照を返します。例えば:

QString str = "##Name" //output: ##Name
    str.remove(QRegExp("[#]."));
    //strr == "Name"
4
rahim