2025/03/19

@Word の使い方

今回は @Word 関数を紹介します。文字列から部分文字列を取得する関数で、便利に使えるケースがある関数です。ぜひ覚えておきましょう。

ヘルプでは @Word は文字列から指定された ”単語” を返すと説明されています。ここでいう ”単語” とは文字列を指定した区切り文字で分割した一つを指すので、”単語” より ”部分文字列” のほうが誤解がないと思います。


構文

ヘルプによると @Word の文法は次の通りです。

@Word( string ; separator ; number )

引数の役割は次の通りで、どの引数も省略することはできません。

1 string 文字列
文字列リスト
検索され取得元となる文字列
2 separator 文字列 区切り文字
3 number 数値 取り出す位置
正数は前から、負数は後ろから

LotusScript では、StrToken 関数が同等の機能を提供します。


戻り値

@Word の戻り値は次の通りです。

文字列
文字列リスト
string 内の number で指定した位置にある部分文字列を返します


サンプル

単純なフォームを作成してテストします。各引数を入力できるようにし、その値を使用して @Word を実行します。

プリビューして、ソース文字列に "Returns the specified word from a text string."、区切り文字に " " (スペース)を入力します。

取り出し位置に 3 を指定すると "specified"、-2 を指定すると "text" が返されます。なるほど、Word という関数名になった理由がよくわかりますね。日本語で ”単語” の抽出には利用できないですが...

ちなみに、存在しない数値、例えば上記例で 10 を指定すると、空の文字列が返され、エラーとはなりません。


また、この関数は構文や戻り値に記載した通り、リスト値に対応しています。次の例では氏名から 姓 だけを取得しています。

次の事例では、氏名と所属を ”/” 区切りで表現していたとします。最後が事業所で、後ろから二つ目が部門(部)だったとします。以下のように記述すれは簡単に部門(部)が取得できます。


まとめ

上記の例において、一般に所属は役職や部門によって階層が異なります。このようなデータでは、負数を指定して後ろから取得する機能が有効です。

このように @Word は特定の条件がある場合、とても便利に機能します。

活用できるケースは多岐にわたるので、探してみましょう。一発で取得できる事例に出会うとコードも気分もスッキリしますよ。


0 件のコメント:

コメントを投稿