■14147 / ResNo.5) |
Re[3]: [英単語] を単語単位で検索・絞込する方法
|
□投稿者/ ONnoji -(2024/02/17(Sat) 15:13:48)
| 2024/02/17(Sat) 16:31:37 編集(投稿者) 2024/02/17(Sat) 16:29:09 編集(投稿者)
サンプルは、[先頭行から・次の行から・前の行から]の3通りの探索(検索)を行うので、
実際の動きがよく確認できると思います。
しかし、操作性を重視しているので、どんな仕掛けなのか分かりにくいですね。
ということで、種明かしをしておきますね。
例えば、"war" を検索するとします。
元の文字列 半角空白文字を #lc2関数で 表現式(検索・絞り込みの比較式) 半角コンマに置換 英小文字に変換 American Civil War → American,Civil,War → american,civil,war → #対応番号( "american,civil,war", #lc2( "war" ) ) <> 0
元の文字列 半角空白文字を 表現式(検索・絞り込みの比較式) 半角コンマに置換 be at war → be,at,war → #対応番号( #lc2( "be,at,war" ), #lc2( "war" ) ) <> 0
実際には、 半角の空白文字 半角のコンマ ↓ ↓ &expression = "#対応番号( #lc2( #文字置換( [項目名], " ", "," ) ), #lc2( "war" ) ) <> 0" 検索 [項目名]_&expression または 絞り込み [項目名]_&expression
または、 半角の空白文字 半角のコンマ ↓ ↓ 検索 [項目名]{ #対応番号( #lc2( #文字置換( [項目名], " ", "," ) ), #lc2( "war" ) ) <> 0 } または 絞り込み [項目名]{ #対応番号( #lc2( #文字置換( [項目名], " ", "," ) ), #lc2( "war" ) ) <> 0 }
(重要) この説明では、すべて空白文字は半角だと想定していますが、 もしも、全角の空白文字を含んでいる場合には、#文字置換()関数で全角空白文字を半角のコンマに置換する処理も必要になります。 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ > be at war など ↑ この空白文字は全角の空白でしたよ
以上、種明かしオワリ。(^^)ok ちなみに、拙作:整形ユーティリティ( utx_list3 )では、#lc2( )関数は使用していません。
これは、桐の変数名は英大文字と英小文字が区別されるためです。
【参考】21.6 比較式の左辺と右辺の両方に計算式を指定する|桐の釣魚大全のトップ > フォームアプリケーション教書 第2部 http://silicon7565.html.xdomain.jp/guide/guide_Part2.htm#section21-6
|
|