很多时候从数据库里面直接读出来的数据直接显示在页面上,会造成页面不美观,这时候可能就会需要截取字符串了,
下面献上3种截取字符串的函数,,用到的给赞,哈哈:
/// <summary>
/// 截取字符串1(按编码流,直接截取)
/// </summary>
/// <param name="sInString">待截取的字符串</param>
/// <param name="iCutLength">截取长度</param>
/// <returns name="sInString">返回截取后的字符串</returns>
public string StringCut(string sInString, int iCutLength)
{
if (sInString == null || sInString.Length == 0 || iCutLength <= 0) return "";
int iCount = System.Text.Encoding.GetEncoding("Shift_JIS").GetByteCount(sInString);
if (iCount > iCutLength)
{
int iLength = 0;
for (int i = 0; i < sInString.Length; i++)
{
int iCharLength = System.Text.Encoding.GetEncoding("Shift_JIS").GetByteCount(new char[] { sInString[i] });
iLength += iCharLength;
if (iLength == iCutLength)
{
sInString = sInString.Substring(0, i + 1);
break;
}
else if (iLength > iCutLength)
{
sInString = sInString.Substring(0, i);
break;
}
}
}
return sInString;
}
/// <summary>
/// 截取字符串2(按编码流,截取...)
/// </summary>
/// <param name="sInString">待截取的字符串</param>
/// <param name="iCutLength">截取长度</param>
/// <returns name="sInString">返回截取后的字符串...</returns>
public string StringCut2(string sInString, int iCutLength)
{
if (sInString == null || sInString.Length == 0 || iCutLength <= 0) return "";
int iCount = System.Text.Encoding.GetEncoding("Shift_JIS").GetByteCount(sInString);
if (iCount > iCutLength)
{
int iLength = 0;
for (int i = 0; i < sInString.Length; i++)
{
int iCharLength = System.Text.Encoding.GetEncoding("Shift_JIS").GetByteCount(new char[] { sInString[i] });
iLength += iCharLength;
if (iLength == iCutLength)
{
sInString = sInString.Substring(0, i + 1);
break;
}
else if (iLength > iCutLength)
{
sInString = sInString.Substring(0, i) + "...";
break;
}
}
}
return sInString;
}
/// <summary>
/// 截取字符串3(按字数,直接截取)
/// </summary>
/// <param name="sInString">待截取的字符串</param>
/// <param name="iCutLength">截取长度</param>
/// <returns name="sInString">返回截取后的字符串</returns>
public string StringCut3(string sInString, int iCutLength)
{
if (sInString == null || sInString.Length == 0 || iCutLength <= 0) return "";
int iCount = sInString.Length;
if (iCount > iCutLength)
{
sInString = sInString.Substring(0, iCutLength);
}
return sInString;
}