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();
}