クリック画像の実寸表示

段ボール箱を机にした猫 ファイルメーカー(filemaker)のちらしの裏のメモ書き

TOP  >  文字列を区切り文字で分割して取り出す
作成日: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」が区切り文字とする文字をそれぞれ意味します

メモ書き終了の案内イラスト

以上で今日のメモ書きは終了です

内容はいかがでしたか?

もしご意見やご要望、誤りの指摘などありましたら、下記フォームよりお気軽にご連絡ください

ご連絡フォーム