152 Views
January 30, 26
スライド概要
Notes Dominoの@関数を取り上げながら、調べたこと、経験したことを雑談してゆきます。
第56回は @Trim について
@ -notes knows community- 2024/05/09 @関数Talk 第56回 公開版 @ Talks around @Functions in Notes and Domino ✔ @Trim 阿部 覚 (X:) @abesat 56th
@ @Trim @ で放談
@ @Trim ヘルプによれば 「文字列や文字列リストの要素から、先頭や末尾にある空 白や余分な空白を取り除きます。」 構文はこれのみです @Trim( string ) @
@Trim @ 確認に用いるフォーム… ◀こちらは編集可能なテキスト ◀こちらは計算結果で 下の式が入っています スペース部の見分けがつきやすいよう 下線を付し @ >< で挟んでいます
@Trim @ 文字の前後にはそれぞれ3つずつの連続したスペース @Trimをかけると 前後のスペースは消え 中間のスペースは1つだけになります @ 中間のスペースは元がいくつ連続していても @Trim後は1つだけになります
@Trim @ 例によって意地の悪い検証もしてみました 2つの「@」の前、後、中間に それぞれ100のスペースを入れてみましたが ちゃんと詰められます いや、100じゃ生ぬるいですよね~♪ @
@Trim @ @の前や後に3万のスペースを入れて見たのですが (スペース3万) + "@" "@" + (スペース3万) も も きちんと全スペースが消えました また、 @
@Trim @ 2つの@の間に3万のスペースを置いた場合も @ @Trim 後は、間のスペースが1つだけになりました 👉 最大量のスペースでもきちっと詰めてくれそうです (今回厳密に試さなかったけど、テキストフィールドのMAXは32K)
@なお念のため申し添えますが ぱっと見、3万もありそうに見えないですよね まだつづいておりまーす @ スペースが連続する限り どんなに長くとも折り返ししてくれないらしく スペースでない文字(@)が現れるまで。。 😏 仮にスペース1個が2mmとすると60m分かな
@Trim @ こちらは、前・中・後に3つずつの全角スペース 同様に きっちり詰めてくれます 中(文字列間)の全角スペースは 詰まるだけではなく半角に変化しています @
@Trim @ ただ…全角スペースが1つの場合 中間の全角スペースが1つだけの場合は 全角スペースのまま残ってしまいます 👇 この件は、Ambassador 浜さんの記事により認識 @ ♥ 出直し!! ドミノ塾: @Trim https://www.denaoshidomino.com/p/trim.html
@Trim @ 全角1つだけのスペースが文字間に含まれると @Trimを行っても厳密には文字間が揃わない箇所が残りますね 半角1つ 全角1つ 半角2つ 全角2つ @ ちなみに @Trimのヘルプには「全角」「半角」といった語は 1つも見当たりません。。。
@ もはや関数と関係ないけど、ここで再度申し添えますと @ 全角スペースのほうは、たくさん連続したとしても 素直に折り返ししてくれます
@Trim @ こちらの例はわかりますか? あるいは、こんな例 @
@Trim @ ヘルプによれば 「この関数では空白 (スペース) のみが取り除かれま す。タブや改行などの空白文字は取り除かれませ ん。空白文字を取り除く場合は、事前に @ReplaceSubstring を使用して空白文字を空白 (ス ペース) に変換することができます。」 タブと改行は@Trimの対象外ということです @ ただ、タブに関しては テキストフィールド上では、タブは直接入力できず、 タブキーを押したら次のフィールドに移動します リッチテキストや、ほかのアプリから 文字列をペーストした場合など以外はあまり発生しないかも
@Trim @ ヘルプ上の例にはこんな式も載っています @Trim(@ReplaceSubstring( @ThisValue; @Char(9) : @NewLine; " ")) つまり、タブと改行はスペースに変更してから@Trimをかけよ うというものですが 必要に応じ、こう変えてもいいのでは @ @Trim(@ReplaceSubstring( @ThisValue; @Char(9) : @NewLine : " "; " ")) タブと改行だけでなく、 @Trimでの変換が不完全と思える全角スペースも あらかじめ半角スペースに変更しちゃおう、ということです
@Trim @ 文字列リストに対する例も確認します ◀複数値も可、 分離記号をカンマ(,)としました @ それぞれのスペースが詰められています
@Explode @ ここで前2回の@Explode で紹介したこの例を再度 (@Explodeの separatorは1文字ずつで機能) @ (文書プロパティで見るとより分かりやすいかな)
@Explode @ 3つ目の引数(includeEmpties)を加えると @
@Explode → @Trim @ でも、さらに@Trimをかけると @
@ 今回もお付き合い ありがとうございました 😀 @