閒來無聊,寫了幾個獲得中英文混合字串長度的方法,在效能上做了簡單的比較,希望對大家有所幫助
namespace socg
///
/// 利用 encoding
///
public static int lenght2(string str)
///
/// 迴圈判斷
///
public static int lenght3(string str)
return len;
}///
/// 利用指標迴圈判斷
///
unsafe public static int lenght4(string str)
}return len;}}
}測試:長度為100的比較隨機的字串,1000000次所用的時間
lenght1(正規表示式)----------------245.4 秒 完全不可取(本人正規表示式是外行,如果有效率更高的方法請指正)
lenght2(利用encoding)-------------4.03秒 最.net的方法,可惜不是最快的
lenght3(迴圈判斷)------------------1.36秒 最老實的方法,效能也比較好
lenght4(利用指標迴圈判斷)-----------0.64秒 最**的方法,在速度上無話可說,但是需要/unsafe選項才能編譯通過
PHP中獲取中英文混合字串長度
今晚在寫框架的表單驗證類時,需要判斷某個字串長度是否在指定區間內,很自然地,想到了php中的strlen函式。str hello world echo strlen str 輸出12 然而在php自帶的函式中,strlen及mb strlen都是通過計算字串所佔位元組數來計算長度的,在不同的編碼情況...
Django 擷取中英文混合字串
在列表顯示的時候,我們常常要擷取文章標題的長度,python擷取字串,本來很簡單的,但是中文和英文的寬度不一樣,在頁面看起來長度就差很遠了 length7 這是中文長度七 粗略來算 是粗略哦 乙個中文字元的寬度大概等於兩個英文本元的寬度。乙個中文字元的utf8編碼長度為3,gbk為2 所以將使用gb...
C 中英文混合字串對齊
private static string padrightex string str,int totalbytecount string w str.padright totalbytecount dcount return w 這段 來自 的改進。採用utf 8 coding.getbyteco...