5 返信 最新の回答 日時: May 9, 2010 5:08 AM ユーザー:CHITO

    指定した文字列を取得する方法

    CHITO

      タイトル

      指定した文字列を取得する方法

      フォーラムに投稿

      こんにちは、Chitoと申します。

       

      ファイルメーカーpro10を使ってデータベースを制作しているのですが、

      文字列の中から、特定の文字に挟まれた部分のみを取得することは可能なのでしょうか?

      たとえば、

       

      0000000, 1111111, 2222222, 3333333

       

      というカンマに挟まれた文字列から、それぞれ「1111111」、「2222222」、「3333333」を抜き取りたいのですが、

      何か良い方法はないでしょうか?

      文字数指定で取得しようかと思ったのですが、それぞれの文字数がレコード毎に異なるため、うまくいきません。 

       

      自分なりに色々と調べたり試したりしてみたのですが、どうしてもうまくいきません。

      どうかよろしくお願い致します。

        • 1. Re: 指定した文字列を取得する方法
          Hiro
            

          Substituteで文字列を一覧に変換して、GetValueで目的行を取り出すのは如何でしょう。

          文字列を文字分解して取り扱うのでなく、行つまり塊として処理すれば、行内の内容は無頓着なので扱いが楽です。

          例えば、第項目「1111111」の取得式は、

            GetValue(Substitute("0000000, 1111111, 2222222, 3333333"; ", "; ¶); 2)

          • 2. Re: 指定した文字列を取得する方法
            CHITO
              

            早速のお返事、本当にありがとうございました。

             

            ご教示いただいた関数を調べてみて、

            理屈として、Substituteで文字列を一覧にして、GetValueで取り出せばいいということが理解できました。

             

            しかしながら、どうしてもSubstituteでフィールド内の文字列を一覧にする方法が理解できません。

             

            例えば以下の二つのレコードがあったとしまして、

             

            (レコード1)

            東京, 京都, 大阪

             

            (レコード2)

            東京, 北海道, 名古屋

             

            この文字列のフィールド名が「目的地候補」とするならば、

            それぞれのレコードで、「目的地」に入力されているカンマに区切られた二番目の単語を「目的地」というフィールドに自動的に抜き出したいのです。

             

            まことにお手数をおかけして申し訳ないのですが、この場合の計算式をご教授願えませんでしょうか。

            • 3. Re: 指定した文字列を取得する方法
              Hiro
                

              先に、 

              項目「1111111」の取得式は、

                GetValue(Substitute("0000000, 1111111, 2222222, 3333333"; ", "; ¶); 2)

              で示したとおり、

               

              > この文字列のフィールド名が「目的地候補」とするならば、カンマに区切られた番目の単語を「目的地」というフィールドに自動的に抜き出した

              なら、「目的地」計算フィールドの式は、

                GetValue(Substitute(目的地候補; ", "; ¶); 2)

              とすればいいです。

              • 4. Re: 指定した文字列を取得する方法
                CHITO
                  

                その後、色々と試してみた結果、おかげさまで自己解決ができました。

                本当にありがとうございました!

                • 5. Re: 指定した文字列を取得する方法
                  CHITO
                    

                  ごめんなさい、ほぼ同時に投稿してしまっていたようですね。

                  ありがとうございます。ご迷惑をおかけしてごめんなさい。。。