作成日:2024年07月10日
文字列を区切り文字で分割して取り出す


どうも、にゃん太です
ファイルメーカーにはsplit関数の様な機能はデフォルトで備わっていません
自分的には良く使用するので、カスタム関数を作成し、インポートして使っています
今回のメモでは、自作のsplit関数について書いていきます
任意の区切り文字で区切った何番めのデータが欲しいという場合は、自分の作業の中ではよくあります。けれど、ファイルメーカーにはSPLIT関数が存在していないので、カスタム関数で登録しておくと便利です。
split( txt; num; sep)=
Let ( [ #sep = If ( sep = ""; ","; sep ); #cnt = PatternCount ( txt; #sep ); #start = Position ( txt; #sep; 1; num - 1 ) + 1; #end = If ( num = ( #cnt + 1 ); Length ( txt ); Position ( txt; #sep; 1; num ) - 1 ); #len = #end - #start + 1 ]; Case ( txt = ""; ""; num > ( #cnt + 1 ); ""; num = 1 and #cnt = 0; txt; Middle ( txt; #start; #len ) ) )
「txt」が元テキスト、「num」が何番めのテキストを取得するか、「sep」が区切り文字とする文字をそれぞれ意味します

以上で今日のメモ書きは終了です
内容はいかがでしたか?
もしご意見やご要望、誤りの指摘などありましたら、下記フォームよりお気軽にご連絡ください