如何判断一个字符串中存在中文字符?
如何判断一个字符串中存在中文字符? 问题点数:40、回复次数:5Top
1 楼laisiwei(.:RNPA:.刺猬)回复于 2002-09-14 17:47:34 得分 10
Private Sub Command1_Click()
MsgBox CT(Text1.Text) 'True:有中文;False:无中文
End Sub
Private Function CT(Text As String) As Boolean
Dim l As Long
Dim i As Long
l = Len(Text)
CT = False
For i = 1 To l
If Asc(Mid(Text, i, 1)) < 0 Then
CT = True
Exit Function
End If
Next
End FunctionTop
2 楼junwhj(http://www.grid2000.com/cn)回复于 2002-09-14 18:53:54 得分 10
Private Declare Function lstrlen Lib "kernel32" Alias "lstrlenA" (ByVal lpString As String) As Long
Private Sub Command1_Click()
Dim strSrc As String
strSrc = "abc中文"
If lstrlen(strSrc) - Len(strSrc) > 0 Then
Debug.Print "strSrc中包含双字节字符"
Else
Debug.Print "strSrc中不包含双字节字符"
End If
strSrc = "abcdef"
If lstrlen(strSrc) - Len(strSrc) > 0 Then
Debug.Print "strSrc中包含双字节字符"
Else
Debug.Print "strSrc中不包含双字节字符"
End If
End Sub
Top
3 楼RSide(江边)回复于 2002-09-14 19:29:20 得分 10
Strlen() 中文化字串长度,相对Len()
StrLeft() 中文化取左字串,相对Left()
StrRight() 中文化取右字串,相对Right()
isChinese() Check某个字是否中文字
Public Function SubStr(ByVal tstr As String, start As Integer, Optional leng As Variant) As String
Dim tmpstr As String
If IsMissing(leng) Then
tmpstr = StrConv(MidB(StrConv(tstr, vbFromUnicode), start), vbUnicode)
Else
tmpstr = StrConv(MidB(StrConv(tstr, vbFromUnicode), start, leng), vbUnicode)
End If
SubStr = tmpstr
End Function
Public Function Strlen(ByVal tstr As String) As Integer
Strlen = LenB(StrConv(tstr, vbFromUnicode))
End Function
Public Function StrLeft(ByVal str5 As String, ByVal len5 As Long) As String
Dim tmpstr As String
tmpstr = StrConv(str5, vbFromUnicode)
tmpstr = LeftB(tmpstr, len5)
StrLeft = StrConv(tmpstr, vbUnicode)
End Function
Public Function StrRight(ByVal str5 As String, ByVal len5 As Long) As String
Dim tmpstr As String
tmpstr = StrConv(str5, vbFromUnicode)
tmpstr = RightB(tmpstr, len5)
StrLeft = StrConv(tmpstr, vbUnicode)
End Function
Public Function isChinese(ByVal asciiv As Integer) As Boolean
If Len(Hex$(asciiv)) > 2 Then
isChinese = True
Else
isChinese = False
End If
End Function
Top
4 楼Small_C(小C)回复于 2002-09-14 22:20:58 得分 5
Dim m_Str1 As String,m_Str2 As String
m_Str1 ="hjlkj卓越。"
m_Str2= StrConv(m_Str1, vbFromUnicode )
if lenB(m_Str1)<>lenB(m_Str2) then
'字符串中存在中文字符。
end ifTop
5 楼LostAngel911(LostAngel)回复于 2002-09-14 22:43:33 得分 5
看字符的ASC
小于0的为中文Top




