今回は @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 件のコメント:
コメントを投稿