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

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

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

You are not logged in.

Announcement

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


#1 2024-02-09 14:59:33

fpck
Member

リストから0を取り除きたい

いつもお世話になっております。
以下のようなリストから0の行を取り除くにはどのようにすれば良いでしょうか。

0
10
2
3
0
4
0

10
2
3
4

Last edited by fpck (2024-02-09 15:01:17)

Offline

#2 2024-02-09 15:14:23

チポ
Member

Re: リストから0を取り除きたい

書かれた1行が1レコードで、
対象レコードにしたいのなら、検索するだけでは。

Offline

#3 2024-02-09 16:31:24

Shin
Member

Re: リストから0を取り除きたい

それが、テキスト列なら、
Subatirut ( text ; "¶0¶" ; "¶" )

Offline

#4 2024-02-09 17:04:22

チポ
Member

Re: リストから0を取り除きたい

テキスト列ならそれじゃすまないでしょう。

01,002
の様なのがないことを条件にして、

Replace ( Substitute ( ¶ & テキスト ; ["¶0" ; "" ] ; [ "¶¶" ; "¶"] ) ; 1 ; 1 ; "" )

こんなのでは。。

Offline

#5 2024-02-09 17:54:19

Shin
Member

Re: リストから0を取り除きたい

01  001 などがあってもいい式
Let (
[
   c1 = Char ( 1 ) ;
   c2 = Char ( 2 )
] ;
   Subatirut ( c2 & text & c1;[ ¶ ; c1 & c2 ];[ c2 & "0" & c1 ; "" ];[ c1 & c2 ; ¶ ];[ c1 ; "" ];[ c2 ; "" ])
)

Offline

#6 2024-02-14 09:37:15

himadanee
Guest

Re: リストから0を取り除きたい

つまり両側に改行を付ければいいわけですよね。置換で0を取り除いて、つけた改行を取る。
Let([
t=List(0;10;0;20;"02";"003";100;1;2);
s= Substitute ( ¶ & t & ¶ ; "¶0¶" ; ¶ )
];
Middle(s;2;Length(s)-2)
)

#7 2024-02-14 11:10:26

Shin
Member

Re: リストから0を取り除きたい

himadaneeさん、0,0 となった時に、2番目がとれないです(だから#3がダメ)
Substitute ( ¶ & t & ¶ ;[ "¶0¶" ; ¶ ];[ "¶0¶" ; ¶ ])
だとうまくいくかも

Last edited by Shin (2024-02-14 13:25:06)

Offline

#8 2024-02-14 18:00:16

fpck
Member

Re: リストから0を取り除きたい

みなさんありがとうございます。
#5でうまくいきました。

Offline

#9 2024-02-15 12:55:05

himadanee
Guest

Re: リストから0を取り除きたい

ああそっか、区切り文字が兼用されるとだめなんですね。

#10 2024-02-15 18:36:56

Shin
Member

Re: リストから0を取り除きたい

#7でも、繰り返しが多いとダメですね

Offline

#11 2024-02-15 19:12:44

himadanee
Guest

Re: リストから0を取り除きたい

これでいいのかな。一旦改行を2倍にして、元に戻す。削除は前後の区切りごと消すことになる。
#5は前後を別の文字にしているわけですね。それでMiddleを使わずに済んでますね。

Let([
t=List(0;10;0;0;0;0;20;"02";"003";100;1;2);
t= ¶ & t & ¶ ;
s= Substitute ( t ; [ ¶ ; ¶ & ¶ ] ; [ "¶0¶" ; "" ] ; [ ¶ & ¶ ; ¶ ]  )
];
Middle(s;2;Length(s)-2)
)

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.005 seconds, 7 queries executed - Memory usage: 519.59 KiB (Peak: 524.13 KiB) ]