Qt QString字串擷取

2021-10-24 23:11:58 字數 1249 閱讀 7888

利用qt,結合一些影象處理,做軟體的時候,做基礎的首先是讀乙個進來,經常需要用字串存一下所讀的路徑,或者名稱。所以經常會利用到字串的擷取,可以從整串路徑中得到名。

以下就介紹兩個擷取字串的函式:

mid()函式和section()函式

mid()函式接受兩個引數,第乙個是起始位置,第二個是取串的長度。如果省略第二個引數。

//這種時候的輸出就會是:

//如果使用mid()函式

qdebug()

<< filename.

mid(15,

3);"001"但是這種方法一旦路徑改變,幾乎是不能再次利用的,所讀出的內容必然變化,所以更推薦下面的section()函式

qstring qstring::section ( qchar sep,

int start,

int end =-1

, sectionflags flags = sectiondefault )

const

這個函式把字串看成是幾個塊,這些塊由 sep 分隔,start 和 end 指定塊號,end 預設為 –1 ,返回的是[ start, end ]內的塊組成的字串,如果 start 和 end 都是負數,那麼將從字串的後面往前面數,返回 [ -end, –start ]內的塊組成的字串。sectionflags是一些標記,如sectionskipempty表示如果兩個分隔符之間是空串,那麼就會跳過。

qdebug()

<< filename.

section

(qregexp

("[/.]"),

3,3);

內是所有分隔符的種類,第二個引數是從0開始的第幾段,從此段開始,第三個引數是結束的段,這個3,3表示從第三個/後開始,到.結束。

會比mid好用很多,希望對大家有所幫助!

Qt QString字串分割 擷取

字串陣列 qstringlist b b.insert 陣列下標,資料 b.at 陣列下標 split 按照指定的字元分割,如按照 或 等分割 qstringlist list1 str.split list1 a b c qstringlist list2 str.split qstring sk...

字串擷取

var 用 擷取 刪除左邊字元,保留右邊字元 echo 其中 var 是變數名,號是運算子,表示從左邊開始刪除第乙個 號及左邊的所有字元 結果 root localhost shell shell.sh 表示從左邊開始刪除最後 最右邊 乙個 號及左邊的所有字元 結果 將變數改為var 結果 輸出為空...

字串擷取

1.定義乙個字串a,擷取a 的某乙個專案組,複製給b,b必須是int型 nsstring a 1.2.30 int b a substringwithrange nsmakerange 4,2 intvalue nslog a n a nslog b d b output 2011 07 05 11...