vb.net怎么判斷漢字,vb判斷字符串是否包含漢字

VBNET里string找出里面找出漢字,并加上雙引號

可以根據(jù)字符的ASCII編碼來進(jìn)行判斷,ASCII的編碼值為:0-127,可以把0-127以外的編碼的字符作為漢字。

創(chuàng)新互聯(lián)是一家專業(yè)提供澤普企業(yè)網(wǎng)站建設(shè),專注與成都做網(wǎng)站、網(wǎng)站建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè)、H5網(wǎng)站設(shè)計、小程序制作等業(yè)務(wù)。10年已為澤普眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進(jìn)行中。

Dim?a?As?String

Dim?S?As?Integer????'保存漢字的開始位置

Dim?E?As?Integer????'保存漢字的結(jié)束位置

Dim?i?As?Integer

Dim?b?As?String

S?=?0

E?=?0

a?=?"4651讓各位serg6546.,serg6546"

For?i?=?1?To?Len(a)

If?Asc(Mid(a,?i,?1))?=?0?And?Asc(Mid(a,?i,?1))?=?127?Then

'這個是非漢字字符

If?S?=?0?Then

'還沒有找到漢字的開始位置

'不做任何處理

Else

'已經(jīng)找到漢字的開始位置

'那么現(xiàn)在這個是漢字的結(jié)束位置

'保存漢字的結(jié)束位置,然后結(jié)束循環(huán)

E?=?i?-?1

Exit?For

End?If

Else

'這個是漢字字符

'如果還沒有保存漢字開始位置,

'那么這個就是漢字的開始位置,保存下來

If?S?=?0?Then

S?=?i

End?If

End?If

Next?i

'現(xiàn)在知道了S中是漢字的開始位置,

'E中是漢字的結(jié)束位置

'現(xiàn)在把原來的字符串分成三段,然后加上雙引號

b?=?Left(a,?S?-?1)??""""??Mid(a,?S,?E?-?S?+?1)??""""??Mid(a,?E?+?1)

'看看結(jié)果

MsgBox?b

vb中,如何判斷一個字符串是漢字還是英文

你可以用mid截取單個字符并用ASCII碼判斷:

n=asc(mid(str1,i,1))

if n0 and n255 then

'英文字母

else

'中文

end if

整個字符串你可以循環(huán)判斷。

這是一個比較粗糙的范圍,更加精準(zhǔn)的判斷:33-126為可打印的(即可顯示的)英文字符,97-122為英文字母(小寫),你可以根據(jù)字符串的實際內(nèi)容來采用判斷依據(jù);負(fù)數(shù)是漢字(其實是最高位為1,VB識別為負(fù)數(shù),轉(zhuǎn)換成16進(jìn)制就可以看到正確的編碼了)

vb.net 如何統(tǒng)計一串文本的漢字和非漢字的數(shù)量?

用循環(huán)加MID函數(shù),取出每一個字符,看它的ASCII碼,0的是漢字,0的是非漢字。

vb 判斷漢字

Function isLetter(letter As String) As String

If Asc(letter) 0 Then

’Ascii碼小于0的為漢字區(qū),但其中有的是全角字符而不完全是漢字,需要進(jìn)一步區(qū)分

gbascii = AscB(StrConv(letter, vbFromUnicode))

'MsgBox gbascii

'區(qū)位碼在16區(qū)之后的為漢字[16區(qū)以前的 是全角字符]

If gbascii - 160 15 Then

isLetter = "是漢字"

Else

isLetter = "是全角符號"

End If

Else

isLetter = "是半角英文或數(shù)字"

End If

End Function

.................張志晨:我想這個比較簡單,符合你的意愿。

vb.net怎么判斷一個字符串中是否包含漢字

str = "hello,everybody. " 返回false,位置0。(不含漢字和漢語標(biāo)點符號)

str = "hello,ererybody。 " 返回false,位置16。(最后一個句號是漢語標(biāo)點符號)

先謝過大家了!

vb 中怎樣判斷輸入的字符是否是漢字

0ascii255

我來補充一下代碼吧,在form中加入一個Text1

Private Sub Text1_Change()

If Text1.Text = "" Then Exit Sub '如果是空字符串,就退出此過程

Dim a

a = Asc(Mid(Text1.Text, Len(Text1.Text), 1))

If a 255 Or a 0 Then MsgBox "剛才輸入的是漢字" Else MsgBox "剛輸入的是字符"

End Sub

這是靠ASCII碼來判斷的,你根據(jù)你的程序需要進(jìn)行修改吧,這是對輸入框約束輸入的比較常用的方法之一,你可以去搜索一下英文字符ASCII碼表.

當(dāng)前文章:vb.net怎么判斷漢字,vb判斷字符串是否包含漢字
網(wǎng)頁路徑:http://muchs.cn/article4/phgjoe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗、手機網(wǎng)站建設(shè)品牌網(wǎng)站建設(shè)、小程序開發(fā)網(wǎng)站建設(shè)、App開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司