如何删除 QString 的前两个字符

How to remove the first two characters of a QString

我将如何删除 QString 的前两个字符,或者如果我必须将它放在 Whosebugs 外行术语中:

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

output: Name

到目前为止,我已经使用了这一小段代码:

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

..但它不起作用,因为我需要 "##" 在其他一些字符串中,但不是在开头。

前两个字符可能恰好是 "%$""#@",这主要是为什么我需要删除前两个字符。

有什么想法吗?

这是删除前两个字符的语法。

str.remove(0, 2); 

您可以为此使用 QString::mid 函数:

QString trimmed = str.mid(2);

但是,如果您希望就地修改字符串,最好按照其他人的建议使用 QString::remove

您可以使用remove(const QRegExp &rx)

删除字符串中所有出现的正则表达式 rx,以及 returns 对字符串的引用。例如:

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