如何删除QString的前两个字符,或者我必须将它放在StackOverflows外行的条款中:
QString str = "##Name" //output: ##Name
到
output: Name
到目前为止,我已经使用了这一小段代码:
if(str.contains("##"))
{
str.replace("##","");
}
..但它不起作用,因为我需要在其他一些字符串中使用“##”,但不是在开头。
前两个字符可能会出现“%$”和“#@”,这主要是我需要删除前两个字符的原因
有什么想法吗?
答案 0 :(得分:6)
这个语法删除了两个第一个字符。
str.remove(0, 2);
答案 1 :(得分:5)
答案 2 :(得分:4)
您可以使用remove(const QRegExp &rx)
删除字符串中每个出现的正则表达式rx,并返回对该字符串的引用。例如:
QString str = "##Name" //output: ##Name
str.remove(QRegExp("[#]."));
//strr == "Name"