BETWEENSTR関数(指定文字列間の文字を返す):UWSC,

// 指定文字列間の文字列を返す
戻値 = BETWEENSTR( 文字列, 前文字, 後文字, [n個目, 数え方フラグ] )
引数
 文字列: 探す元になる文字列
 前文字: 得たい文字列の前にある文字列 (省略した場合は先頭から)
 後文字: 得たい文字列の後にある文字列 (省略した場合は最後まで)
 n個目: nを指定するとn個目の該当文字列を返す(マイナス値で指定すると後ろからサーチ)
 数え方フラグ:
   FALSE: n個目は後文字以降でカウント (デフォルト)
   TRUE: n個目は前文字以降でカウント
戻値
 前文字と後文字に挟まれている文字列 (取得できなかった場合はEMPTYを返す)

【例:サンプル】
// Google操作 検索結果のタイトルとURLを表示
IE = CreateOLEObj(“InternetExplorer.Application”)
IE.Visible = True
IE.Navigate(“http://www.google.co.jp/”)
BusyWait(IE)
IESetData(IE,True,”lr”,”lang_ja”)      // ラジオボタン選択:日本語のページを検索
IESetData(IE,”検索単語”,”q”)         // 文字設定:検索単語
IESetData(IE,True,”btnG”,”Google 検索”)   // SUBMIT
BusyWait(IE)
body = IEGetSrc(IE, “BODY”)             // BODYのソース取得
body = Copy(body, Pos(“

body = Copy(body, 1, Pos(“background-position”, body)) // 不必要部分の削除
cnt = 1
while True
 wks= BetweenStr(body,”

“, cnt)
 if wks = EMPTY then break
 wks = REPLACE(wks,”“, “”)    // 邪魔なタグは潰す
 wks = REPLACE(wks,”
“, “”)
 wks = REPLACE(wks,”“, “”)
 print cnt
 print Copy(wks, Pos(“”",wks,-1)+2, 999)   // タイトル
 print BetweenStr(wks, “href=”",”"”)  // URL
 cnt = cnt + 1
wend
//——
Procedure BusyWait(ie)
 repeat
  Sleep(0.2)
 until (! ie.busy) and (ie.readyState=4)
Fend

// テーブルからのデータ取得
// IEGetData(IE, “TAG=TABLE”, 2, 3, 4)  // 2つ目のTABLEの3行目4列
// IEGetData(IE, “TAG=A”, 5)       // 5つ目のAタグの表示項目

// 指定文字列間の表示
moji = “A12, B12, C12, A34, B34, C34, A56, B56, C56, A78, B78, C78″
// AとCの間
print BetweenStr(moji, “A”, “C”)       // 12, B12,
print BetweenStr(moji, “A”, “C”, 2)     // 34, B34,
// 前文字と後文字が同じ時
print BetweenStr(moji, “A”, “A”, 1)     // 12, B12, C12,
print BetweenStr(moji, “A”, “A”, 2)     // 56, B56, C56, (後文字以降で取得)
print BetweenStr(moji, “A”, “A”, 2, True)  // 34, B34, C34, (前文字以降で取得)

このエントリーをはてなブックマークに追加

コメントを残す