Salesforceのapexのsubstringについて理解しよう


Salesforceのapexのsubstring
今回はSalesforceのapexで使われるsubstringについてご紹介していきます。簡単に言うと、指定した文字列を設定通りに出力してくれるapexの関数です。
とはいえこの説明では何となくしか伝わらないでしょう。しかも「substring」と検索してくると「string」というワードも出てきて両者がどういった関係なのか混乱してきてしまいます。
そこで今回は単なる機能の解説にとどまらず、stringとsubstringとの関係性をはっきりさせる事で体系立てて理解出来る様にしました。
加えて実際のコードと共に気をつけたいポイントも紹介したので、是非ご覧ください。
substringの前に文字列関数について知ろう
substringは、Salesforceのapexで使われる文字列関数の1つです。そもそも関数は、入手したデータを決められた処理を行ってから結果を返させる命令文です。 文字列や数値を指定すればそれらを合体させた結果を出力してくれるconcat関数や指定した文字列を大文字や小文字に変換してから結果を返してくれるlower関数などがあります。
それでは簡単にSalesforceの関数の役割について解説していきます。
apexの関数は、小文字から大文字あるいは大文字から小文字に変換したり、文字列同士や数値と合体させたりなど値を変換して返してくれる(出力してくれる)ツールです。
基本的な注意点が2つあります。
1つめはテキスト(文字)を入力する際はダブルクォーテーションマーク(””)で括る事です。
2つめは数式を入力する際はAPI参照名(末尾に__cや__r)を使用し、パラメーターはカッコで括る事です。
Salesforceのapexのsubstringとは
substringはsubstrと省略して使用する事ができ、予め出力する文字数を決めてから任意の文字列を選択すると指定された文字数分だけ値として戻してくれる関数です。
実際は以下の様に使用します。
substr(フィールド,ポジション,長さ)
フィールドの欄には選択、出力したい文字列を打ち込みます。ポジションの欄には指定した文字列のどの箇所から返したいのかを数値で指定します。文字列の末尾を基準に設定しており、末尾を出力したい場合は-1を、先頭を出力したい場合は1を入力する必要があります。
長さには返したい文字数を数値で入力します。もし0やマイナスの数値を入力すると何も表示されないか空を意味する「null」が表示されるなどになります。
substr(Manager_Id,8,4)
この場合、Manager_Id項目に格納されている8番目〜11番目の4文字が出力される事になります。
stringとsubstringとの違い
substringと検索すると「string」というキーワードが出てきますが、stringはクラス名でsubstringはSalesforceのapex関数名という歴然な違いがあります。
stringというクラスの中に、abbreviate(maxWidth)やdeleteWhitespace()と言った関数が複数所属していて、substringはその1つなのです。
ですのでstringの中にsubstringがあるというイメージを持ってください。
ちなみにstrings内にある関数は引数で与えた数値分半角スペースを埋めてくれる関数や第1引数の文字列を第2引数の文字列に置き換えてから結果を返してくれる関数など多様な働きをしてくれます。
substringを取っ掛かりにしてSalesforceのapexの様々な関数を習得してください。
substringの使用方法
ここからはsubstring関数の使い方を紹介していきます。
substr("CRM", 1, 1)
1番目のコードでは、CRMという文字列を直接入力しているので、1番最初の”C”だけ出力されます。気をつけたいのは文字列にダブルクォーテーションマークを付けた事です。テキストや数値を直接指定する場合に””が必要になります。
substr("CRM", 1, 2) "
2番目のコードでは、選択した文字列及び指定箇所の指示は変わりませんが、2文字抽出する様にプログラミングされています。従って”CR”と返されます。
substr("CRM", -2, 2)
3番目のコードが1、2番目のコードと異なるのはポジションの指定方法です。今までは1番最初を基準としてきましたが、今回は末尾を基準にしています。先述した様に末尾を基準にする際は-1から始まるので後ろから2番目からを抽出、つまり”RM”が返されるのです。
substring関数は簡単に使いこなせる
substring関数は細かなルールがいくつかありますが、シンプルなので扱いやすいのが特徴です。ここから重要になってくるのは、substring以外の関数の習得です。stringクラスの中にも様々な関数が用意されています。
そういった関数もシンプルなコードで稼働してくれるので覚えやすいです。ですのでsubstringを取っ掛かりにしてstringクラス内の関数を制覇してください。
この記事の監修者・著者

- AWSパートナー/Salesforce認定コンサルティングパートナー 認定企業
-
ITエンジニア派遣サービス事業を行っています。AWSやSalesforceなど専門領域に特化したITエンジニアが4,715名在籍し、常時100名以上のITエンジニアの即日派遣が可能です。
・2021年:AWS Japan Certification Award 2020 ライジングスター of the Year 受賞
・2022年3月:人材サービス型 AWSパートナー認定
・AWS認定資格保有者数1,154名(2024年6月現在)
・Salesforce認定コンサルティングパートナー
・Salesforce認定資格者276名在籍(2024年5月現在)
・LPIC+CCNA 認定資格者:472 名(2024年6月時点)
最新の投稿
- 2024-12-27営業インタビュー情報共有の活性化の中心に。SP企画部の新たな取り組み
- 2024-07-01営業インタビュー最短で当日にご提案可能。 OPE営業の対応が早い3つの理由
- 2024-07-01営業インタビュー研修見学ツアーが高評価!「お客様のOPEに対する期待を高め、継続に貢献できればと思います。」
- 2024-07-01営業インタビュー信頼関係を構築し、エンジニアの長期就業へ

- 求人・転職サイトや自社採用サイトを使っているが、自社に合ったITエンジニアが応募してこない…
- すぐに採用したいが、応募がぜんぜん集まらない
オープンアップITエンジニアをご検討ください!
当社のITエンジニア派遣サービスは
- 派遣スピードが速い!(最短即日)
- 4,500名のエンジニアから貴社にマッチした人材を派遣
- 正社員雇用も可能
こんな特長があり、貴社の事業やプロジェクトに合った最適なITエンジニアを派遣可能です。
まずは下記ボタンから無料でご相談ください。