String.substring(int32 a, int32 b)方法,從第
a個位置開始,取得長度為6的字串。
但若是中英夾雜的字串,用此方法可能會擷到中文字的一
字元,此時就需另一個判斷方式。
string str = "I'am 中文字";
int maxLength = 8; //擷取長度為7byte的字串
string result='';
int count = 0;
foreach(char a in str)
{
counter = counter+ System.Text.Encoding.GetEncodeing("Big5").GetBytes(str.ToString()).Length;
if(count <= maxLength)
{
result = result + a;
}
else
{
break;
}
}
System.Writeline(result+"...");
程式中的System.Text.Encoding.GetEncodeing("Big5").GetBytes(str.ToString()).Length;
視字串編碼為定,有些中文字會用UTF-8編碼,則使用GetEncodeing("utf-8");
參考文章:
沒有留言:
張貼留言