当前位置: 编程技术>.net/c#/asp.net
c#截取字符串的代码(中文算两个字符)
来源: 互联网 发布时间:2014-08-30
本文导语: 从网上好不容易找到的一段代码----c#截取字符串的代码(中文算两个字符),分享出来,与大家共同学习进步。 代码如下: #region breakString:获取指定长度的字符,一个中文算两个字符. /// /// 获取指定长度的字符,一个中文...
从网上好不容易找到的一段代码----c#截取字符串的代码(中文算两个字符),分享出来,与大家共同学习进步。
代码如下:
#region breakString:获取指定长度的字符,一个中文算两个字符.
///
/// 获取指定长度的字符,一个中文算两个字符.
///
/// 要获取字符的原始字符串.
/// 指定的长度,中文*2.
///
public static string breakString(string S, int strLen)
{
string qdkRe = "";
if (S == null || S == "")
{
return qdkRe;
}
qdkRe = S;
int sLen, tLen, cLen;
sLen = S.Length;
tLen = 0;
for (int i = 0; i < sLen; i++)
{
cLen = S[i];
if (cLen > 255)
{
tLen += 2;
}
else
{
tLen += 1;
}
if (tLen >= strLen)
{
qdkRe = S.Substring(0, i);
qdkRe += "...";
break;
}
}
}
///
/// 获取指定长度的字符,一个中文算两个字符.
///
/// 要获取字符的原始字符串.
/// 指定的长度,中文*2.
///
public static string breakString(string S, int strLen)
{
string qdkRe = "";
if (S == null || S == "")
{
return qdkRe;
}
qdkRe = S;
int sLen, tLen, cLen;
sLen = S.Length;
tLen = 0;
for (int i = 0; i < sLen; i++)
{
cLen = S[i];
if (cLen > 255)
{
tLen += 2;
}
else
{
tLen += 1;
}
if (tLen >= strLen)
{
qdkRe = S.Substring(0, i);
qdkRe += "...";
break;
}
}
}