2017-03-07 54 views
3

我將如何刪除的QString的前兩個字符,或者如果我必須把它放在一個StackOverflows通俗地說:如何刪除的QString的前兩個字符

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

output: Name 

到目前爲止,我已經使用這個小塊代碼:

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

..但它不工作,我需要有「##」在其他一些字符串中,但不在開頭。爲什麼我需要刪除的前兩個字符,可能會出現

前兩個字符是「%$」「#@」以及和主要的原因。

任何想法?

+0

str = str.right(str.size() - 2)? –

+5

str.remove(0,2)?我從來沒有使用過Qt,但是QString上的文檔看起來非常完整。 – Timbo

+0

Timbo說得對! –

回答

2

這是刪除兩個第一個字符的語法。

str.remove(0, 2); 
5

可以使用QString::mid功能如下:

QString trimmed = str.mid(2); 

但是,如果你要修改到位的字符串,你會因爲別人建議使用QString::remove會更好。

1

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

刪除字符串中的正則表達式RX的每一次出現,並且返回字符串的引用。例如:

​​
相關問題