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

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

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

You are not logged in.

Announcement

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


#1 2016-02-06 09:42:54

くもり
Guest

文字列の先頭のスペースを削除する方法

文字置換がうまくできません。

文字列は ○○ABCD○○○○ああ のようなかたちで ○ はスペースです。
先頭にスペースが入っているものもあり、間にいくつかスペースを挟んでいます。

先頭から文字列までのスペースを削除したいのですが、スペースの数も不定で、文字が開始するところまでの文字数の指定もわかりません。

よろしくお願いします。

#2 2016-02-06 10:27:53

ぽんかん
Guest

Re: 文字列の先頭のスペースを削除する方法

末尾のスペースも取ってよければ、Trim関数で

先頭のスペースの数はPosition(text;LeftWords(text;1);1;1)で出るかな。

#3 2016-02-06 12:44:25

Hiro
Member

Re: 文字列の先頭のスペースを削除する方法

Let(
[
   #txt=文字列;
   #pos=Position(#txt;LeftWords(#txt;1);1;1);
   #n=Length(#txt)
];
   Middle(#txt;#pos;#n)
)

Offline

#4 2016-02-06 13:30:58

くもり
Guest

Re: 文字列の先頭のスペースを削除する方法

ぽんかん様Hiro様ありがとうございます。
おかげさまで先頭からのスペースを削除できました。

関数のヘルプと見比べながらようやく理解できました。
変数やLeftWordsというものを使うんですね。
とても勉強になりました。
ありがとうございました。

#5 2016-02-07 01:21:58

10
Guest

Re: 文字列の先頭のスペースを削除する方法

LeftWords関数だと
"  #FileMaker"
みたいにスペースに続いて、記号で始まると記号が無視されちゃうけど大丈夫?

#6 2016-02-07 03:24:29

Hiro
Member

Re: 文字列の先頭のスペースを削除する方法

後で私も気付いてたけどそれで良いみたいで[解決]だったので、
万一記号文字が付くことも考慮するなら、地道にループ式を組んで
1文字づつ厳密にチェックする方法しか思いつかない、
何かもっと簡略な手は無いものか?


Let([
  $fnc=
    "Case($i=$n or $flg; $i;
        Let([$i=$i+1;$chr=Middle($txt;$i;1);$flg=IsEmpty(Filter($kwd;$chr))];Evaluate($fnc))
      )";
  $kwd=Char(32)&Char(12288);
  $i=0;
  //
  $txt=文字列;
  $pos=Evaluate($fnc);
  $n=Length($txt)
];
  Middle($txt;$pos;$n)
)

Offline

#7 2016-02-07 13:17:45

10
Guest

Re: 文字列の先頭のスペースを削除する方法

Substituteでスペースを取った後の最初の1文字目を起点にすればいいんじゃない?

#8 2016-02-09 17:03:19

くもり
Guest

Re: 文字列の先頭のスペースを削除する方法

ゲストユーザー様Hiro様 ありがとうございます。
「解決」とした後、お邪魔していなかったのでお礼が遅くなってすみませんでした。

私の場合はスペースの後には記号が続いていなかったので大丈夫でしたが、ご指摘いただいたことを肝に銘じておきます。
Hiro様に教えていただいた方法も今から勉強させていただきます。

文字列の途中にあるスペースはそのまま使用したかったので、先頭のスペースだけ取りたくて相談させていただきました。

先輩方、本当にありがとうございました!

#9 2016-02-09 17:14:03

calcer
Guest

Re: 文字列の先頭のスペースを削除する方法

LeftWordsでなくTrimを使えばいいかな。
Replace ( text ; 1 ; Position ( text ; Trim ( text ) ; 1 ; 1 ) - 1 ; "" )

#10 2016-02-09 20:11:44

Hiro
Member

Re: 文字列の先頭のスペースを削除する方法

おぉ、calcerさん案に1票!^o^

Offline

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: 517.73 KiB (Peak: 522.27 KiB) ]