• ベストアンサー

Accessで文字列の一部を抽出する方法を教えてください。

Accessで文字列の一部を抽出する方法を教えてください。 下記の商品名から、[ ]でくくられた部分を抽出する関数があれば教えて頂きたいです。 よろしくお願いいたします。 ■ガラス|[ ceiling light/シーリングライト ]■

質問者が選んだベストアンサー

  • ベストアンサー
  • nda23
  • ベストアンサー率54% (777/1415)
回答No.2

こんな感じでしょうか Function 抜き出し(ByVal 指定文字列 As String) As String Dim 正規表現, 一致集団, 一致要素 Set 正規表現 = CreateObject("VBScript.RegExp") 正規表現.Pattern = "\[(.*?)\]" Set 一致集団 = 正規表現.Execute(指定文字列) For Each 一致要素 In 一致集団     抜き出し = 一致要素.SubMatches.Item(0)     Exit For Next End Function

nico2kikuz
質問者

お礼

回答ありがとうございます。 正規表現について調べてみようと思います。

nico2kikuz
質問者

補足

関数を駆使して抽出する方法はないでしょうか?

その他の回答 (2)

noname#182251
noname#182251
回答No.3

#1です #2への補足で >関数を駆使して抽出する方法はないでしょうか? ですが、#2の回答は関数そのものです。それ以上に何をお望みなのか?

nico2kikuz
質問者

お礼

表現の仕方が悪くて申し訳ないです。 式ビルダで出てくる組み込み関数で何とかしたいと考えていました。 早々にご指摘ありがとうございます。

noname#182251
noname#182251
回答No.1

VBAで正規表現を使用すれば良いでしょう。VBAはほとんど知らないので、下記などをご参考に http://www.f3.dion.ne.jp/~element/msaccess/AcResSnippetRegExp.html その他、access regexp などで google検索すれば多数ヒットします。

nico2kikuz
質問者

お礼

回答ありがとうございます。 正規表現について調べてみます。

関連するQ&A