如何删除 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"
我将如何删除 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"