vb中,如何判斷一個字符串是漢字還是英文?
你可以用mid截取單個字符并用ASCII碼判斷:
nasc(mid(str1,i,1))
ifn0andn
英文字母
else
中文
endif
整個字符串你可以循環判斷。
這是一個比較粗糙的范圍,更加精準的判斷:33-126為可打印的(即可顯示的)英文字符,97-122為英文字母(小寫),你可以根據字符串的實際內容來采用判斷依據;負數是漢字(其實是最高位為1,VB識別為負數,轉換成16進制就可以看到正確的編碼了)
請問VB中怎樣判斷字符是不是小寫字母或數字?
IfcAAndcZThen----c是大寫字母
vb如何隨機輸出大小寫字母?
代碼示例:
PrivateSubCommand1_Click()
DimsizeAsInteger
DimasciiAsInteger
DimiAsInteger
DimsAsString
DimresultAsString
Randomize
asciiInt((90-651)*Rnd65)
sChr(ascii)
sizeInt((10-31)*Rnd3)
result
excel中的vba如何才能正常打開unicode編碼的文件進行字符串對比?
工作中excel要求vba同時打開好幾個文本文件,進行字符串對比。以前的軟件是用ansi輸出到文本文件。軟件升級后,輸出的編碼是unicode,這個時候,vba讀取時有些字符串是。想問如何更改vba才能正確讀取?
使用VBA內置函數
StrConv函數:返回一個按照指定轉換的Variant(String)值。
語法:StrConv(字符串,換算,[LCID])
其中:LocaleID可選,一般省略,如果與系統LocaleID不同,則為LocaleID(系統LocaleID為缺省值。)
轉換參數說明:
vbUpperCase值為1將字符串文字轉成大寫。
vbLowerCase值為2將字符串文字轉成小寫。
vbProperCase值為3將字符串中每個字的開頭字母轉成大寫。
vbWide*值為4*將字符串中單字節字符轉成雙字節字符。
vbNarrow*值為8*將字符串中雙字節字符轉成單字節字符。
vbKatakana**值為16**將字符串中平假名字符轉成片假名字符。
vbHiragana**值為32**將字符串中片假名字符轉成平假名字符。
vbUnicode值為64根據電腦系統的非默認碼頁將數組元素轉成unicode字符集。(在os/2中不可用。)(iec轉utf-16)
vbFromUnicode值為128將字符串由字符集轉成操作系統的.默認碼頁。(在os/2中不可用。)(unicode編碼轉iec)