如何删除QString的前两个字符

Joe*_*arr 6 c++ qstring qt replace

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

QString str = "##Name" //output: ##Name
Run Code Online (Sandbox Code Playgroud)

output: Name
Run Code Online (Sandbox Code Playgroud)

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

if(str.contains("##"))
{
    str.replace("##","");
}
Run Code Online (Sandbox Code Playgroud)

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

前两个字符可能会出现"%$""#@",这主要是我需要删除前两个字符的原因.

有任何想法吗?

小智 8

这个语法删除了两个第一个字符.

str.remove(0, 2); 
Run Code Online (Sandbox Code Playgroud)


pad*_*ddy 8

您可以使用此QString::mid功能:

QString trimmed = str.mid(2);
Run Code Online (Sandbox Code Playgroud)

但是如果您希望修改字符串,那么最好还是QString::remove像其他人建议的那样使用它.