VBA Instr ではできない文字列検索
perl 言語で言えば、index
php 言語で言えば、strpos
例えば、html 解析などで a タグを検索する場合
p = InStr(buff,”<a”)
ですが、ソースが <A と大文字で書かれていたら、あるいは、混在していたら InStr では対応できません。
大文字小文字を考慮せず文字列を検索する 汎用ライブラリ sPos
- ライブラリー名
vcmp - 種類
Function - 書式
戻り = sPos(検索対象文字列,検索文字列) - 例
buff = “<img src=””~””><A HREF=””~””><br /><a href=””~””>”
p = vcmp.sPos(buff,”<a”)
print mid(buff,p)
p = InStr(buff,”<a”)
print mid(buff,p) - 結果
<A HREF=””~””><br /><a href=””~””>”
<a href=””~””>” - ソース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 ダウンロード )
ご自由にダウンロードしてお使いください。
ただし、著作権は放棄しておりません。オープンソースです。二次配布は改変後も含めて禁止いたします。
ただし、著作権は放棄しておりません。オープンソースです。二次配布は改変後も含めて禁止いたします。