MFC中幾種常用的字串分割方法

2021-07-09 07:40:35 字數 2664 閱讀 5531

1

cstringt tokenize( _in_ pcxstr psztokens, _inout_int& istart )const

功能介紹:從istart位置取出字串中含psztokens分割符間的內容;istart是開始分割的位置,一般設為0,下面是一段運用例項:

1

2

3

4

5

6

7

8

9

10

11

12

vectorsplitcstring(cstring strsource, cstring ch)

}

上述函式將字串strsource按照字串ch進行分割,分割得帶的子字串放到vector中。其中函式中的ipos是不斷變化的,而tokenize本身不會改變源字串。

功能介紹:分解字串為一組字串。s為要分解的字串,delim為分隔符字串。首次呼叫時,s指向要分解的字串,之後再次呼叫要把s設成null。從s開頭開始的乙個個被分割的串。當查詢不到delim中的字元時,返回null。所有delim中包含的字元都會被濾掉,並將被濾掉的地方設為一處分割的節點。下面是一段運用例項。

1

2

3

4

5

6

7

8

9

10

11

12

13

vectorsplitcstring(cstring strsource,charch)

}

與第一種方法有一點區別,上述函式第二個引數是char型的,第一種方法的第二個可以是cstring型的,但是實現的功能相似。

功能介紹:可用於從特定源字串中提取子字串。如果函式成功提取了該子字串中提供的索引,返回true 否則返回false。其中

//   rstring 對cstring將得到乙個單獨的子字串的物件。

//    lpszfullstring 待分割的字串。

//    isubstring 提取的子字串的序號,從0開始。假如你想提取第3段,該引數就輸入2

//    chsep 用於分割的字元,預設的是』\n』。

下面是一段運用例項

1

2

3

4

5

6

7

8

9

10

11

12

vectorsplitcstring(cstring strsource,charch)

returnvecstring;

}

特別注意:strtok在分割的時候將分割符改變成『/0』了,所以這個函式會修改源字串,分割符不會包含在分割出來的字串中,strtok允許多分割字元,比如空格+逗號表示為『 ,』,還有一點需要注意的是如果被分割的字元第乙個是分割符,那麼該字元會被忽略掉。如果出現連續的分隔符,那麼也會忽略掉,比如字串1|2||||3,用strtok來分割將得到1 2 3,但是如果用afxextractsubstring,得到將會是1 2 空字串 空字串 空字串 3,需求不同選擇不同的函式。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

vectorsplitcstring(cstring strsource,charch)

returnvecstring;

}

這種方法功能和上述類似,使用也很靈活,可以根據自己需要分割字串。

linux shell中字串相等的幾種方法

3 上面簡單的三個小例項是shell條件測試中的字元測試 eq 測試兩個整數是否相等 比如 a eq b ne 測試兩個整數是否不等 不等,為真 相等,為假 gt 測試乙個數是否大於另乙個數 大於,為真 否則,為假 lt 測試乙個數是否小於另乙個數 小於,為真 否則,為假 ge 大於或等於 le 小...

分割字串的幾種方法

單個字元分割 string s abcdeabcdeabcde string sarray s.split c foreach string i in sarray console.writeline i.tostring 輸出下面的結果 ab deab deab de多個字元分割 string s...

C 中字串分割的常用函式

經常碰到字串分割的問題,這裡總結下,也方便我以後使用。一 用strtok 函式進行字串分割 原型 char strtok char str,const char delim 功能 分解字串為一組字串。引數說明 str 為要分解的字串,delim 為分隔符字串。返回值 從s tr開頭開始的乙個個被分割...