刚才提问提得不对,现在再次提:string s1 = "中国人民";
string s2 = "abcd";1)怎么样才能使 s1.Length = 8
2)怎么样才能使 s1.substring(0, 4) = "中国"谢谢
string s2 = "abcd";1)怎么样才能使 s1.Length = 8
2)怎么样才能使 s1.substring(0, 4) = "中国"谢谢
{
System.Text.RegularExpressions.Regex regx=new Regex ("[\u4E00-\u9FA5]",System.Text.RegularExpressions .RegexOptions.IgnoreCase);
return (regx.Matches(s).Count+s.Length);
}
{
if(length>s.Length)length=s.Length;
System.Text.RegularExpressions.Regex regx=new Regex ("[\u4E00-\u9FA5]",System.Text.RegularExpressions .RegexOptions.IgnoreCase);
for(int i=0;i<length;i++)
{
if(regx.IsMatch(s.Substring(i,1)))
{
length-=1;
}
} return s.Substring(0,length);
}
{
return System.Text.Encoding.Default.GetByteCount(s);
}
/// 获得字符串长度(包括中文字符)
/// </summary>
/// <param name="str">原字符串</param>
/// <returns></returns>
public static int GetLength(string str)
{
byte[] strAry = System.Text.Encoding.Default.GetBytes(str);
return strAry.Length;
} /// <summary>
/// 截取字符串(适用于中英文混合)
/// </summary>
/// <param name="str">原字符串</param>
/// <param name="len">长度</param>
/// <returns></returns>
public static string CutString(string str,int len)
{
str = str.Trim();
byte[] myByte = System.Text.Encoding.Default.GetBytes(str);
if(myByte.Length>len)
{
string result = "";
for(int i=0;i<str.Length;i++)
{
byte[] tempByte=System.Text.Encoding.Default.GetBytes(result);
if(tempByte.Length<len)
{
result += str.Substring(i,1);
}
else
{
break;
}
}
return result+"...";
}
else
{
return str;
}
}
第2个问题怎么办?