1:获取字符串实际长度
public
int
StringLength(
string
oString)
{
byte [] strArray = System.Text.Encoding.Default.GetBytes(oString);
int res = strArray.Length;
return res;
}
{
byte [] strArray = System.Text.Encoding.Default.GetBytes(oString);
int res = strArray.Length;
return res;
}
2:根据字符串的实际长度来截取
![ContractedBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![ExpandedBlockStart.gif](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
///
<summary>
/// 根据实际长度截取字符串
/// </summary>
/// <param name="str"> 原字符串 </param>
/// <param name="length"> 指定截取长度 </param>
/// <returns> 返回截取后的string </returns>
public static string GetString( string str, int length)
{
int i = 0 , j = 0 ;
foreach ( char chr in str)
{
if (( int )chr > 127 )
{
i += 2 ;
}
else
{
i ++ ;
}
if (i > length)
{
str = str.Substring( 0 , j) + " ... " ;
break ;
}
j ++ ;
}
return str;
}
/// 根据实际长度截取字符串
/// </summary>
/// <param name="str"> 原字符串 </param>
/// <param name="length"> 指定截取长度 </param>
/// <returns> 返回截取后的string </returns>
public static string GetString( string str, int length)
{
int i = 0 , j = 0 ;
foreach ( char chr in str)
{
if (( int )chr > 127 )
{
i += 2 ;
}
else
{
i ++ ;
}
if (i > length)
{
str = str.Substring( 0 , j) + " ... " ;
break ;
}
j ++ ;
}
return str;
}