プロが教えるわが家の防犯対策術!

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

下記の商品名から、[ ]でくくられた部分を抽出する関数があれば教えて頂きたいです。
よろしくお願いいたします。

■ガラス|[ ceiling light/シーリングライト ]■

A 回答 (3件)

こんな感じでしょうか


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

この回答への補足

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

補足日時:2010/07/20 13:50
    • good
    • 0
この回答へのお礼

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

お礼日時:2010/07/20 13:49

#1です



#2への補足で
>関数を駆使して抽出する方法はないでしょうか?

ですが、#2の回答は関数そのものです。それ以上に何をお望みなのか?
    • good
    • 0
この回答へのお礼

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

お礼日時:2010/07/20 15:03

VBAで正規表現を使用すれば良いでしょう。

VBAはほとんど知らないので、下記などをご参考に
http://www.f3.dion.ne.jp/~element/msaccess/AcRes …

その他、access regexp などで google検索すれば多数ヒットします。
    • good
    • 0
この回答へのお礼

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

お礼日時:2010/07/20 13:51

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す