9494不过ASP 上你那个代码是很早飞鸟他们提出的,我的这个才正宗Function LeftCn(ObjStr, ObjLen) Dim i, newStr, strAsc,MaxLen MaxLen=Len(ObjStr) newStr=ObjStr If MaxLen>ObjLen Then ObjLen = ObjLen * 2 Do While ObjLen > 0 and i<MaxLen i = i + 1 strAsc = Asc(Mid(ObjStr, i, 1)) If strAsc > 255 Or strAsc < 1 Then ObjLen = ObjLen - 2 Else ObjLen = ObjLen - 1 Loop newStr = Left(ObjStr, i) If i < MaxLen Then newStr = newStr & "..." End If LeftCn = newStr End Function
TheAres(班门斧) ,按照你的例子我要求得到的结果是 string s = "一1二2三3"; MessageBox.Show(s.SubStr(0,3)); //一1 public string SubStr(string str) { ... }因为一个汉字占两个字符
Dim i, newStr, strAsc,MaxLen
MaxLen=Len(ObjStr)
newStr=ObjStr
If MaxLen>ObjLen Then
ObjLen = ObjLen * 2 Do While ObjLen > 0 and i<MaxLen
i = i + 1
strAsc = Asc(Mid(ObjStr, i, 1))
If strAsc > 255 Or strAsc < 1 Then ObjLen = ObjLen - 2 Else ObjLen = ObjLen - 1
Loop newStr = Left(ObjStr, i)
If i < MaxLen Then newStr = newStr & "..."
End If
LeftCn = newStr
End Function
string s = "一1二2三3";
MessageBox.Show(s.SubStr(0,3)); //一1
public string SubStr(string str)
{
...
}因为一个汉字占两个字符