1、find()
該函式從左側0索引開始,查詢第乙個出現的字元位置,返回position。示例如下:
cstring s( "abcdef" );
assert( s.find( 'b' ) == 1 );
int f = s.find( "de" ) ; // 結果 f = 3
返回值:
•如果查到,返回以0索引起始的位置
•未查到,返回-1
2、findoneof()
給定一字串,然後查詢其中出現的第乙個字元位置,示例如下:
cstring s( "abcdef" );
assert( s.findoneof( "zb" ) == 1 );
返回值:
•如果查到,返回以0索引起始的位置
•未查到,返回-1
3、reversefind()
該函式反向(從右向左)查詢字元最後一次出現的位置。示例如下:
cstring s( "abcd" );
assert( s.reversefind( 'b' ) == 2 );
返回值:
•如果查到,返回以0索引起始的位置
•未查到,返回-1
二、cstring之left()、mid()、right()
查詢完成後,我們可能需要擷取字串。cstring有如下幾個字串擷取函式。
1、left(int ncount)
該函式擷取左側ncount個字元,如果遇到雙位元組字元(下面mid和right同樣理解),比如中文,則可能會截斷亂碼。因為ncount是按照位元組計數的。
2、mid(int nfirst)和mid( int nfirst, int ncount)
mid(int nfirst)函式擷取從nfirst開始,直到字串結束的字串。
mid( int nfirst, int ncount)函式則擷取從nfirst開始,擷取ncount個位元組字元。
3、right(int ncount)
該函式擷取右側ncount個位元組字元。
left()、mid()、right()函式示例如下:
cstring s="天緣部落格";//_t("天緣部落格")
cstring s1=s.left(3);//天?
cstring s2=s.mid(3);//?部落格
cstring s3=s.right(3);//?客
s="123456789";
s1=s.left(3); //123
s2=s.mid(3); //456789
s3=s.right(3); //789
CString字串查詢和擷取
該函式從左側0索引開始,查詢第乙個出現的字元位置 cstring str abc int postion str.find a 如果查到,返回以0索引起始的位置 未查到,返回 1。給定一字串,然後查詢其中出現的第乙個字元位置 cstring str abc int position str.find...
C string 擷取字串
string str 123abc456 int i 3 1 取字串的前i個字元 str str.substring 0,i or str str.remove i,str.length i 2 去掉字串的前i個字元 str str.remove 0,i or str str.substring i...
CString擷取字串方法
c中cstring型別好像沒有像string.substring parame 這樣類似的函式來從字串中直接分離子串,但是我們可以借助cstring的幾個函式來實現。在cstring中有find delete left right mid 就可以實現分離子串的目的了。intfind tchar ch...