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

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

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

You are not logged in.

Announcement

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


#1 2023-09-11 16:52:46

あせせ
Guest

左右から数えて特定の文字列を取り出したいです

20230908165100

といった、年月日時間のデータがありそれを
2309081651
と2023の20と、時間に含まれる秒数を消したいです
LEFTをした後RIGHTををする、といった記述しか思いつきませんが
簡潔にする方法はありますか?

#2 2023-09-11 17:03:03

Shin
Member

Re: 左右から数えて特定の文字列を取り出したいです

頭ゼロの扱いが常に今のままでしたら、middle() を使えばいいでしょうね。

Offline

#3 2023-09-11 17:21:38

あせせ
Guest

Re: 左右から数えて特定の文字列を取り出したいです

素人の記述なので稚拙かもしれませんが以下のようにして
Let($時間 = Right (Substitute ( Get ( タイムスタンプ ) ; [ "/" ;  "" ] ; [ ":" ; "" ] ; [ " " ; "_" ] );13);Left($タイム;11)) & "." & Right($時間;2)
2023/09/11 17:15:58
から
230911_1715.58
と表記されるようにしていました
middleという関数があったのですね
これで抜き出して、秒数を.58とするには、
やはり変数化する必要がありますか?

#4 2023-09-11 17:32:08

あせせ
Guest

Re: 左右から数えて特定の文字列を取り出したいです

Let($時間 = Right (Substitute ( Get ( タイムスタンプ ) ; [ "/" ;  "" ] ; [ ":" ; "" ] ; [ " " ; "_" ] );13);Left($タイム;11)) & "." & Right($時間;2)

Let($時間 = Get(タイムスタンプ) ; Middle ( Substitute ( $時間 ; [ "/" ;  "" ] ; [ ":" ; "" ] ; [ " " ; "_" ] ) ; 3 ; 11 ) &"." & Right($時間;2))
に変えてみましたが、なんだか変わり映えしないような気もします

もっと簡潔にかけるものでしょうか?

#5 2023-09-11 18:40:28

himadanee
Guest

Re: 左右から数えて特定の文字列を取り出したいです

最初の質問と違ってますが、「20230908165100を2309081651に変換」でなく「タイムスタンプを230911_1715.58形式に」が実際に必要な処理ですか?

文字を挿入するにはReplace()が使えます。(文字数を0にする)

#6 2023-09-11 19:04:10

Shin
Member

Re: 左右から数えて特定の文字列を取り出したいです

日付時刻の標準の表記は、システムに依存して、色々変化します。自分の端末だけでしたらそれでもいいでしょうが、2023/9/11 7:5:58 という表記や、区切り文字も変化する可能性があります。国が異なると日付の表記順は変わることもあります。それも考慮しないといけないかもしれませんよ。

Offline

#7 2023-09-11 21:20:05

あせせ
Guest

Re: 左右から数えて特定の文字列を取り出したいです

himadaneeさん、最初と変わってしまいましたが、
やってるうちにこちらが見やすいかな、と思いましてそうなりました
Replace()というのがあるのですね

Shinさん、自分しか使わないので、問題はないとは思っています
仮に違う端末で(自分が)使うにしてもウインドウズ環境でしか使いません

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 551.88 KiB (Peak: 579.48 KiB) ]