如何判断一个字符串中存在中文字符?

lhh 2002-09-14 05:14:38
如何判断一个字符串中存在中文字符?
...全文
119 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
LostAngel911 2002-09-14
  • 打赏
  • 举报
回复
看字符的ASC
小于0的为中文
Small_C 2002-09-14
  • 打赏
  • 举报
回复
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 if
asdfsdfrewrwesr 2002-09-14
  • 打赏
  • 举报
回复
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
junwhj 2002-09-14
  • 打赏
  • 举报
回复
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
laisiwei 2002-09-14
  • 打赏
  • 举报
回复
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 Function

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧