VBA 文字列比較 大文字小文字を無視して比較する
例えば、大文字小文字比較は、
perl 言語で言えば、=~/xxx/ig
php 言語で言えば、strcasecmp
html 解析などで href を検索する場合
if buff=”href” then
ですが、ソースが HREF と大文字で書かれていたら、あるいは、Href などと混在していたら 結果は False です。
大文字小文字を考慮せず文字列を比較する 汎用ライブラリ sPos
- ライブラリー名
vcmp - 種類
Function - 書式
戻り = vcmp.ig(比較文字列,比較文字列) - 戻り
0:一致
0以外:不一致 - 例buff = "href"work = "Href"If vcmp.ig(buff,work)=0 thenprint "一致"Elseprint "不一致"Endi IfIf buff = work thenprint "一致"Elseprint "不一致"Endi If
- 結果
一致
不一致 - ソースFunction ig(iStr0, iStr1)''大文字小文字無視比較''If vcmp.ig(buff,work)=0 then''Endi If'Dim cStr0, cStr1cStr0 = LCase(toStr.toStr(iStr0))cStr1 = LCase(toStr.toStr(iStr1))If cStr0 = cStr1 Thenig = 0Elseig = 1End IfEnd FunctionFunction sPos(iStr, iTrg)sPos = ig_pos(iStr, iTrg)End FunctionFunction ig_pos(iStr, iTrg)'大文字小文字無視位置検索''dim p''p = vcmp.ig_pos(buff,work)'Dim cStrV, cTrgVcStrV = LCase(toStr.toStr(iStr))cTrgV = LCase(toStr.toStr(iTrg))ig_pos = InStr(cStrV, cTrgV)End Function
vcmp.bas ダウンロード
vcmp.zip (278 ダウンロード )ご自由にダウンロードしてお使いください。
ただし、著作権は放棄しておりません。オープンソースです。二次配布は改変後も含めて禁止いたします。
ただし、著作権は放棄しておりません。オープンソースです。二次配布は改変後も含めて禁止いたします。