初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2017-10-02 15:11:46

bdg
Member

テキスト抽出について

お世話になります。

少し不明な点があり投稿さあえて頂きます。

下記のようなテキスト文章があり
各項目それぞれを指定したフィールドに入れていきたいのですが
解決できますでしょうか?
-------------------------------------------------------
■お名前
ファイルメーカー
■フリガナ
ファイルメーカー
■年齢
01
■職業
会社員
■郵便番号
000-0000
■都道府県名
〇〇県
■ご住所
〇〇市
■電話番号
090-000-0000
■E-mailアドレス
todddd@kkkkk.jp
■カタログ同封
必要
-------------------------------------------------------

Let ( [
開始文字="■ご住所¶";
開始場所=Position ( メール本文; 開始文字 ; 0 ; 1 );
終了場所=Position ( メール本文 ; "¶" ; 開始場所+Length ( 開始場所 ) ; 1 )
];

Middle (メール本文;
開始場所+Length ( 開始文字 );
終了場所 - 開始場所
))

計算フィールドで上記関数を入れても
テキストが途中で切れてしまいます。

わかる方よろしくお願い申し上げます。

Offline

#2 2017-10-02 15:33:09

チポ
Member

Re: テキスト抽出について

> 終了場所=Position ( メール本文 ; "¶" ; 開始場所+Length ( 開始場所 ) ; 1 )
Length ( 開始文字 )
では。。


GetValue関数
を使えばずっと簡単になりますよ。

Offline

#3 2017-10-02 15:58:46

Shin
Member

Re: テキスト抽出について

その式でいいはずです。
ただし、本文の途中に改行が入っていると誤動作しますが、

Offline

#4 2017-10-02 16:19:01

bdg
Member

Re: テキスト抽出について

お早いお返事ありがとうございます。

Shin様
誤動作でしょうか?
なぜかテキストが途中で切れてしまいますね。


>チポ様
GetValue関数ですとどういう記述になりますでしょうか?

Offline

#5 2017-10-02 17:27:40

チポ
Member

Re: テキスト抽出について

もう一つ間違いがありましたよ

式の最後
> 終了場所 - 開始場所
これは
終了場所 - 開始場所 - Length ( 開始文字 )
ですね。


欲しい住所は、14行目ですから、
  GetValue ( メール本文 ; 14 )
これだけです。

Offline

#6 2017-10-02 18:17:55

qb_dp
Member

Re: テキスト抽出について

開始場所 と言うのが、取り出したい文字の開始位置ではなく、"■ご住所¶" の先頭位置になっているからややこしくなっているのでは?
こんなカンジの方が分かりやすいのでは?

Let ( [
¢t="■ご住所¶";
¢val=メール本文;
¢s=Position ( ¢val; ¢t ; 0 ; 1 )+Length ( ¢t );
¢e=Position ( ¢val; "¶" ; ¢s ; 1 )
];
Middle (¢val;
¢s; 
¢e-¢s
))

Offline

#7 2017-10-02 18:28:13

qb_dp
Member

Re: テキスト抽出について

文字の取り出し方法2

変数を設定 [$FMON; 値:
Substitute ( メール本文 ; 
["\"" ; "\\\"" ]
;["■お名前¶" ; "$お名前=\"" ]
;["¶■フリガナ¶" ; "\";$フリガナ=\"" ]
;["¶■年齢¶" ; "\";$年齢=\"" ]
;["¶■職業¶" ; "\";$職業=\"" ]
;["¶■郵便番号¶" ; "\";$郵便番号=\"" ]
;["¶■都道府県名¶" ; "\";$都道府県名=\"" ]
;["¶■ご住所¶" ; "\";$ご住所=\"" ]
;["¶■電話番号¶" ; "\";$電話番号=\"" ]
;["¶■E-mailアドレス¶" ; "\";$Emailアドレス=\"" ]
;["¶■カタログ同封¶" ; "\";$カタログ同封=\"" ]
;["¶" ; Char ( 182 ) ]
) & "\""
]
変数を設定 [$er; 値:Evaluate ( "LET([" & $FMON & "];0)" )]

上記の様にすると、以下の各変数に各値が設定されます。
改行があっても大丈夫。

$お名前
$フリガナ
$年齢
$職業
$郵便番号
$都道府県名
$ご住所
$電話番号
$Emailアドレス
$カタログ同封

※■E-mailアドレス の 「-」が変数名でエラーになるので「■E-mailアドレス 」は、「$Emailアドレス」となっています。

Offline

#8 2017-10-23 15:23:26

bdg
Member

Re: テキスト抽出について

いろいろとご指導いただきありがとうございました。
なんとか解決いたしました。

Offline

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.020 seconds, 7 queries executed - Memory usage: 515.63 KiB (Peak: 520.16 KiB) ]