c 擷取漢字和英文混合字串

2021-09-08 16:40:32 字數 759 閱讀 8655

在c++裡擷取字串可以使用string.substr(),可是這個函式只能按英文來擷取,

如果是漢字可能就要計算好字元個數,如果是漢字和英文混合,那就只能望洋興嘆了。

可是恰好我需要這樣乙個函式,於是就自己實現了乙個,其中如何判斷漢字和英文

參看了此處。

**簡單也無優化,若有更好的方法歡迎提出,**如下。

#include #include 

#include

#include

#include

using

namespace

std;

int is_zh_ch(char

p)

return -1;}

string sub(string str,int start,int end=-1

)

else

}end=end>0?end:dump.size(); //

end預設為dump.size

if(start<0||start>end)

printf(

"start is wrong");

//直接從dump裡取即可

for(i=start; i<=end; i++)

return

tmp;

}else

}int

main()

輸出如下:半山

wuji

符合我的要求。

C 中英文混合字串擷取函式

一 截斷字串 最大長度 原字串 public static string cutstr int maxlength,string str for int i temp.length i 0 i return 二private string getbytestring string center,in...

Django 擷取中英文混合字串

在列表顯示的時候,我們常常要擷取文章標題的長度,python擷取字串,本來很簡單的,但是中文和英文的寬度不一樣,在頁面看起來長度就差很遠了 length7 這是中文長度七 粗略來算 是粗略哦 乙個中文字元的寬度大概等於兩個英文本元的寬度。乙個中文字元的utf8編碼長度為3,gbk為2 所以將使用gb...

C 擷取中英文混合字串分行顯示

privateintgetstrbytelength stringstr privatestringsubstrlenth stringstr,intstartindex,intlength intj 0 記錄遍歷的位元組數 intl 0 記錄每次擷取開始,遍歷到開始的位元組位,才開始記位元組數 i...