FileMakerで文字列の右側から単語を抽出!RightWords関数の使い方と注意点
システム開発を進める中で、
「氏名から名前だけを取り出したい」
「文章の末尾にある特定の単語だけを抽出したい」
といった場面に遭遇することはありませんか?
文字数が固定されていれば他の関数でも対応できますが、データの長さがバラバラな場合、
うまく抽出できずに困ってしまうことがあります。
今回は、そんな課題を解決する RightWords関数 について解説します。
この関数をマスターすれば、データの形式に合わせた柔軟なテキスト抽出が可能になります。
——————————————————————————–
【基本構文】RightWords関数の定義と注意点
RightWords関数 は、テキストの右側(末尾)から数えて、指定した単語数分のテキストを返す関数です。
構文
RightWords ( テキスト ; 単語数 )
引数
・テキスト : 抽出元となるテキスト式またはテキストフィールド
・単語数 : 取り出したい単語の数(数値式または数値を含むフィールド)
戻り値の型
・テキスト
区切り文字の扱いや単語の考え方
この関数には、区切り文字や日本語を扱う際に特有の挙動(癖)があるため、以下の点に注意が必要です。
・区切り文字の挙動: 一般的に半角スペースが単語の区切りとして認識されますが、スラッシュ(/)やアンダーバー(_)も区切りとして見なされます。この際、区切り文字自体も結果に含まれて返されます。
・日本語(漢字・カタカナ・ひらがな)の認識: 日本語の場合、スペースがなくても「漢字」「カタカナ」「ひらがな」の切り替わりがそれぞれ「1単語」として認識されます。
・英数字の認識: 数字とアルファベットが連続している場合は、それらがまとめて「1つの単語」として扱われます。
——————————————————————————–
【実務での活用シーン】氏名フィールドから「名」を自動抽出する
動画では、実務的な例として「氏名」フィールドから「名(名前)」だけを抽出する設定方法を紹介しています。
この方法を使えば、苗字や名前の文字数が一人ひとり異なっていても、正確に名前部分だけを取得できます。
設定手順
1.フィールドの準備: 「氏名」(テキストフィールド)と、抽出結果を表示するための「名」(計算フィールド)を用意します。
2.計算式の入力: 「名」フィールドの計算式に RightWords ( 氏名 ; 1 ) と設定します。 ※ここでは右から1単語(名前部分)を取得するよう指定しています。
3.計算結果の型指定: 計算結果のデータタイプを「テキスト」に設定します。
4.入力ルールの徹底: 氏名を入力する際、「田中 太郎」のように苗字と名前の間に半角スペースを入れるルールにします。
この設定により、例えば「田中 太郎」なら「太郎」、「佐藤 隆」なら「隆」といったように、文字数に関係なく名前だけを確実に取得できるようになります。
——————————————————————————–
【動画で解説!】
——————————————————————————–
まとめ
RightWords関数 を活用することで、文字数に基づいた抽出(Right関数など)では難しかった「意味のある単位(単語)」でのデータ取得が容易になります。
特に入力値の自動化やデータ整形に導入することで、データの正確性が向上し、開発者・ユーザー双方の利便性が大きく高まります。
日本語特有の挙動にさえ注意すれば非常に強力なツールとなりますので、ぜひ皆さんのソリューションでも活用してみてください。
