0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

rex0220 計算式プラグイン 検索用文字列生成の式を GPTs で評価してみよう

0
Last updated at Posted at 2025-08-18

rex0220 計算式プラグインで作成した検索用文字列生成の式を GPTs で評価してみました。

概要

計算式プラグインで作成した検索用文字列生成の式を GPTs 「rex0220 計算式プラグインの使い方」で評価してみました。
計算式の処理を理解するのに役立つと思います。
あと計算式がわかりにくいので、コメント追加と変数名を変えてもらいます。

参考
rex0220 計算式プラグインの使い方をGPTsに学習させてみる

検索用文字列生成の計算式

検索用文字列生成.js
LET(
  instr,"サイボウズ,  ABC、TEST",
  // 区切り文字を除外
  w,REPLACERE(instr,"[,、\s]+","g"," "),
  inarr,SPLIT(w," ",1),
  arr,ARRAY(),  // 分割文字列の出力用
  dummy,ARRAY_MAP(inarr,str,
    LET(
      len,LENGTH(str),
      ARRAY_FOR(len,idx,
        ARRAY_FOR(len-idx,idx2,
          // 分割文字列を追加
          FSET(arr,ARRAY(arr,SLICE(str,idx,idx+idx2+1)))
        )
      )
    )
  ),
  // 重複文字の削除
  JOIN(DISTINCT(arr),",")
)
  • 計算結果

"サ,サイ,サイボ,サイボウ,サイボウズ,イ,イボ,イボウ,イボウズ,ボ,ボウ,ボウズ,ウ,ウズ,ズ,A,AB,ABC,B,BC,C,T,TE,TES,TEST,E,ES,EST,S,ST"

  • 計算式ツールでの実行

2024-07-11_08h39_57.png

GPTs「rex0220 計算式プラグインの使い方」で評価

評価結果は、「入力文字列が長くなると計算量が増加するため、パフォーマンスに注意する必要があります。」とのことで、妥当な評価だと思います。
ステップごとに解説されるので、内容を理解するのにも役立ちます。

  • 計算式の評価してもらいます

2024-07-11_08h47_41.png

  • 評価結果は、ステップごとに、評価されます

2024-07-11_09h42_51.png

2024-07-11_09h44_37.png

2024-07-11_09h45_04.png

2024-07-11_08h55_21.png

計算式にコメントを付ける

計算式にコメントが少ないのでつけてもらいます。

2024-07-11_08h58_42.png

計算式の変数名を変更

計算式の変数名がわかりにくいので、変更してもらいます。

2024-07-11_09h02_25.png

変数の意味は分かりますが、少し長いので8文字以内にしてもらいます。

2024-07-11_09h04_02.png

変更後の計算式を実行

検索用文字列生成GPTs版.js
LET(
  origTxt, "サイボウズ,  ABC、TEST", //入力文字列
  clnTxt, REPLACERE(origTxt, "[,、\s]+", "g", " "), //区切り削除
  splArr, SPLIT(clnTxt, " ", 1), //文字分割
  resArr, ARRAY(),  // 出力配列
  dummy, ARRAY_MAP(splArr, word,
    LET(
      wLen, LENGTH(word), //文字数
      ARRAY_FOR(wLen, sIdx,
        ARRAY_FOR(wLen - sIdx, eIdx,
          FSET(resArr, ARRAY(resArr, SLICE(word, sIdx, sIdx + eIdx + 1))) //部分文字列
        )
      )
    )
  ),
  JOIN(DISTINCT(resArr), ",") //重複削除
)

コメント追加と変数名変更した計算式を実行してみます。
問題ありませんでした。

2024-07-11_09h08_01.png

テスト用文字列の生成

テスト用文字列も作ってもらいます。

2024-07-11_10h05_21.png
2024-07-11_10h06_48.png

アプリでテスト

いろいろなパターンをテストするため、テーブルに計算式を設定してテストします。
数字や記号は、検索文字としてどうなんだろうか?

2024-07-11_10h21_59.png

2024-07-11_10h42_20.png

区切り・記号を除外

必要に応じて、除外する区切り・記号を指定します。

LET(
  origTxt, 文字列, //入力文字列
  clnTxt, REPLACERE(origTxt, "[,、\s\.\!\?\(\)\[\]\{\}\-\+\*\&\^\%\$#@!~`<>\"'()「」;::;{}{} /・?]+", "g", " "), //区切り削除
  splArr, SPLIT(clnTxt, " ", 1), //文字分割
  resArr, ARRAY(),  // 出力配列
  dummy, ARRAY_MAP(splArr, word,
    LET(
      wLen, LENGTH(word), //文字数
      ARRAY_FOR(wLen, sIdx,
        ARRAY_FOR(wLen - sIdx, eIdx,
          FSET(resArr, ARRAY(resArr, SLICE(word, sIdx, sIdx + eIdx + 1))) //部分文字列
        )
      )
    )
  ),
  JOIN(DISTINCT(resArr), ",") //重複削除
)

2024-07-11_11h00_01.png

2024-07-11_10h56_47.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?