在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...