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();
}
本文介绍了一种用于从字符串中获取指定长度子串的方法,并考虑了不同字符宽度的影响。通过使用StringBuilder和字符数组,该方法能够有效地处理各种字符类型。
786

被折叠的 条评论
为什么被折叠?



