using System.Text;
namespace CSTest
{
class StrOp
{
/// <summary>
/// 得到字符串的長度,一個漢字算2個字符
/// </summary>
/// <param name="str">字符串</param>
/// <returns>返回字符串長度</returns>
public static int GetLength(string str)
{
if (str.Length == 0) return 0;
ASCIIEncoding ascii = new ASCIIEncoding();
int tempLen = 0;
byte[] s = ascii.GetBytes(str);
for (int i = 0; i < s.Length; i++)
{
if ((int)s[i] == 63)
{
tempLen += 2;
}
else
{
tempLen += 1;
}
}
return tempLen;
}
public static string CutString(string str,int len)
{
if (str.Length == 0) return str;
ASCIIEncoding ascii = new ASCIIEncoding();
int tempLen = 0;
byte[] s = ascii.GetBytes(str);
for (int i = 0; i < s.Length; i++)
{
if ((int)s[i] == 63)
{
tempLen += 2;
}
else
{
tempLen += 1;
}
if (tempLen > len)
{
tempLen = i;
break;
}
}
str = str.Substring(0, tempLen);
return str;
}
}
}
改寫別人的方法,得到CutString,初步測試,滿足要求
測試如下:
測試結果:
新聞熱點
疑難解答