C 擷取定長字串(全形觠混合串)

2021-08-25 07:11:38 字數 524 閱讀 5337

使用如下函式便好,其實inputstring是源串,len是要擷取的長度(以半形計算)。

原理很簡單,就是逐個遍歷源串中的字元,如果該字元是全形,則認為它佔兩個長度,如果是半形,就認為它佔乙個長度。

public static string cutstring(string inputstring, int len)

string tempstring = string.empty;

for (int i = 0, tempindex = 0; i < inputstring.length; ++i, ++tempindex)

if (system.text.encoding.utf8.getbytes(new char ).length > 1)

++tempindex;

if (tempindex >= len)

tempstring += "...";

break;

tempstring += inputstring[i];

return tempstring;

擷取指定長度的字串

函式說明 擷取指定長度的字串 utf 8專用 漢字和大寫字母長度算1,其它字元長度算0.5 param string str 原字串 param int len 擷取長度 param string etc 省略字元.return string 擷取後的字串 if function exists re...

用C 擷取指定長度的中英文混合字串

我們常做的一件事情,就是在文章系統中,擷取一定長度的文章標題,超過指定長度,就加 如兩個字串 string str1 中國人要啊abc呀 string str2 1中國人23456abc呀 要擷取後,輸出 str1 中國人要.str2 1中國人2.即要把中英文混合的字串,在擷取後,長度要一致,即8個...

用C 擷取指定長度的中英文混合字串

我們常做的一件事情,就是在文章系統中,擷取一定長度的文章標題,超過指定長度,就加 如兩個字串 string str1 中國人要啊abc呀 string str2 1中國人23456abc呀 要擷取後,輸出 str1 中國人要.str2 1中國人2.即要把中英文混合的字串,在擷取後,長度要一致,即8個...