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

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

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

You are not logged in.

Announcement

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


#1 2020-06-19 10:22:42

james5
Guest

テキストから漢字のみを取り出す。

FileMaker18で作業しております。下記のようなことがしたいです。

私の名前は、鈴木ichoroで、16歳です。

というテキストが、テキストフィールドAに入力されたときに、

予め作成されているテキストフィールド1からテキストフィールド4に、下記のように漢字のみを入力させたい。

テキストフィールド1=私
テキストフィールド2=名前
テキストフィールド3=鈴木
テキストフィールド4=歳

どなたか、ご教授お願いいたします。

#2 2020-06-19 12:05:05

チポ
Member

Re: テキストから漢字のみを取り出す。

まず、繰り返し計算フィールド
  MiddleWords ( テキスト[1] ; Get ( 計算式繰り返し位置番号 ) ; 1 )
とすると繰り返し各回にテキストの単語が一つずつ入ります。

これを漢字だけ取り出します。
  Case ( Code ( Left ( 繰り返し計算 ; 1 ) ) > 12570 ; 繰り返し計算 )

これから、空白を省いて、改行テキストにします。
  List ( 漢字だけ )


これはFMの「単語」に従います。

Offline

#3 2020-06-19 13:17:08

Hiro
Member

Re: テキストから漢字のみを取り出す。

結果は、繰り返し計算フィールド「テキストフィールド」に求める、としたときの
繰り返し計算式(ループ式)の作例です。
(※なお「㈱、㊊」など「漢字記号文字」は排除する仕様の式としてあります。)

●「フィールドA」:|㈱ニッポンの私の名前は、鈴木ichoroで、26歳です。|

●「テキストフィールド」:|私|名前|鈴木|歳|||・・・|


Let(
[
   $LOOP=
         "Choose( IsEmpty($txt)
               ; Let([
                     #chr=Left($txt;1);
                     $res=$res & Case(Code(#chr)>=19968 and Code(#chr)<40960; #chr; Char(13));
                     $txt=Replace($txt;1;1;Char(0))
                     ]; Evaluate($LOOP))
               ; Substitute( Char(3)& $res &Char(3)
                     ; [Char(13);Char(100002)];[Char(200001);Char(0)];[Char(100002);Char(13)]   /*重複改行の除去*/
                     ; [Char(3)&Char(13);Char(0)];[Char(13)&Char(3);Char(0)];[Char(3);Char(0)])   /*頭尾空行の除去*/
         )"
];
   Let([$txt=フィールドA[1]; $res=Char(0)]; GetValue(Evaluate($LOOP);Get(計算式繰り返し位置番号)))
)

Last edited by Hiro (2020-06-21 00:48:35)

Offline

#4 2020-06-19 16:17:30

james5
Guest

Re: テキストから漢字のみを取り出す。

大変たすかりました。教えていただいた方法にて解決いたしました。有難うございました。

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.006 seconds, 8 queries executed - Memory usage: 508.78 KiB (Peak: 513.32 KiB) ]