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

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

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

You are not logged in.

Announcement

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


#1 2016-05-14 12:47:14

クネ〜ル
Member

指定文字以降を削除

FM10です。

Georgia on My Mind - 4:04
Hallelujah! - 5:37
The Prophet - 7:25
Love for Sale - 4:26
Coolin’ the Blues - 6:55
Blueinet - 7:35
Angel Eyes - 4:58
Old Devil Moon - 2:53

「 - 」以降の文字を削除したいです。

(答)
Georgia on My Mind
Hallelujah!
The Prophet
Love for Sale
Coolin’ the Blues
Blueinet
Angel Eyes
Old Devil Moon

よろしくお願いします。

Offline

#2 2016-05-14 13:23:06

Hiro
Member

Re: 指定文字以降を削除

万一「 - 」が無い場合も対応できる式。
   GetValue(Substitute(テキストフィールド; [" - ";¶]); 1)

Offline

#3 2016-05-14 13:44:33

クネ〜ル
Member

Re: 指定文字以降を削除

Hiro様有難うございます。

私の説明不足もあったようで、お答えの式では
Georgia on My Mind
のみとなってしまいます。

行ごとの「 - 」以降の文字を削除したく、

Georgia on My Mind
Hallelujah!
The Prophet
Love for Sale
Coolin’ the Blues
Blueinet
Angel Eyes
Old Devil Moon

というふうにしたいです。
ひきつづきよろしくお願いします。

Offline

#4 2016-05-14 14:43:00

Hiro
Member

Re: 指定文字以降を削除

あぁ、対象は文字列でなく一覧リストですか。
なら、1行ずつ取り出して先の式を適用、その結果を再度リスト化すれば良いかな、
式はループ再帰式で、(ただし、リスト行数に限界制限あり、大凡200s行以下)

Let([
   $lst=リストフィールド;
   $i=0;
   $res="";
   $fnc=
      "Case( $i=ValueCount($lst); $res;
            Let([
               $i=$i+1;
               $val=GetValue($lst;$i);
               $res=List($res;GetValue(Substitute($val;[\" - \";\¶]);1))
            ]; Evaluate($fnc))
      )"
];
   Evaluate($fnc)
)

Offline

#5 2016-05-14 15:06:37

クネ〜ル
Member

Re: 指定文字以降を削除

ひききつづきHiro様有難うございます。

ばっちり解決できました。
式の理解は自分の領域外で今は分からないですが、
参考にして勉強していきます。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.028 seconds, 9 queries executed - Memory usage: 507.04 KiB (Peak: 518.1 KiB) ]