• 締切済み

VBScriptの正規表現で半角スペースをマッチ

VBScriptの正規表現で、半角スペースや全角スペースをマッチさせたいです。 どうしたらよいでしょうか。 よろしくお願いします。

みんなの回答

  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.2

こんな感じ? 注※ s = "a b c d" は ab間に半角スペース1個 bc間に半角スペース2個 cd間に全角スペース1個を置いてます。 .Pattern = "[  ]+"は []内に半角スペース一個と全角スペース一個置いてます 末尾の + は一文字以上のマッチです m.firstindex + 1 は見つけた文字位置 (m.value だとスペースはメッセージボックスでは判らないためオマケ) Dim r Dim m Dim mc Dim s Set r = CreateObject("VBScript.RegExp") s = "a b c d" With r .Pattern = "[  ]+" .Global = True .IgnoreCase = False Set mc = .Execute(s) End With For Each m In mc MsgBox m.Value & m.firstindex + 1 Next

回答No.1

http://msdn.microsoft.com/ja-jp/library/cc427970.aspx をみましょう。特定一文字だけなら、そのものを指定すればいい。スペースならスペース。分かりにくいのなら、アスキコードで指定。まあマスク(引き算)してもいいのでしょう。問題は、スペースは予約語とも言うべき、単語区切り文字ですね。 http://search.yahoo.co.jp/search?p=%EF%BC%B6%EF%BC%A2%EF%BC%B3+%E3%82%A2%E3%82%B9%E3%82%AD%E3%83%BC%E3%82%B3%E3%83%BC%E3%83%89+%E3%82%B9%E3%83%9A%E3%83%BC%E3%82%B9&aq=-1&oq=&ei=UTF-8&fr=ie8sc&n=10&x=wrt

関連するQ&A

専門家に質問してみよう