`
lovecontry
  • 浏览: 1036527 次
文章分类
社区版块
存档分类
最新评论

C#截取定长字符串(全角觠混合串)

 
阅读更多

使用如下函数便好,其实inputString是源串,len是要截取的长度(以半角计算)。

原理很简单,就是逐个遍历源串中的字符,如果该字符是全角,则认为它占两个长度,如果是半角,就认为它占一个长度。

public static string CutString(string inputString, int len)

{

string tempString = string.Empty;

for (int i = 0, tempIndex = 0; i < inputString.Length; ++i, ++tempIndex)

{

if (System.Text.Encoding.UTF8.GetBytes(new char[] { inputString[i] }).Length > 1)

{

++tempIndex;

}

if (tempIndex >= len)

{

tempString += "...";

break;

}

tempString += inputString[i];

}

return tempString;

}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics