public
string
GetSubString(
string
str,
int
len)
{
int charLen = str.Length;
if (charLen * 2 <= len) // 如果总的占位小于len则直接返回
{
return str;
}
if (charLen > len) // 如果字符数大于len则只取前len来运算
{
str = str.Substring( 0 ,len);
charLen = len;
}
StringBuilder resultStrBuilder = new StringBuilder();;
char [] charArray = str.ToCharArray();
int curLen = 0 ;
for ( int i = 0 ;i < charLen;i ++ )
{
if (curLen >= len)
{
break ;
}
if (Convert.ToInt32(charArray[i]) > 255 )
{
curLen = curLen + 2 ;
}
else
{
curLen = curLen + 1 ;
}
resultStrBuilder.Append(charArray[i]);
}
return resultStrBuilder.ToString();
}
{
int charLen = str.Length;
if (charLen * 2 <= len) // 如果总的占位小于len则直接返回
{
return str;
}
if (charLen > len) // 如果字符数大于len则只取前len来运算
{
str = str.Substring( 0 ,len);
charLen = len;
}
StringBuilder resultStrBuilder = new StringBuilder();;
char [] charArray = str.ToCharArray();
int curLen = 0 ;
for ( int i = 0 ;i < charLen;i ++ )
{
if (curLen >= len)
{
break ;
}
if (Convert.ToInt32(charArray[i]) > 255 )
{
curLen = curLen + 2 ;
}
else
{
curLen = curLen + 1 ;
}
resultStrBuilder.Append(charArray[i]);
}
return resultStrBuilder.ToString();
}