Salesforce技術ブログ(小ネタ:知っていると非常に便利なStringクラスのメソッド8選!)

Salesforce技術ブログ(小ネタ:知っていると非常に便利なStringクラスのメソッド8選!)

Salesforce技術ブログ(小ネタ:知っていると非常に便利なStringクラスのメソッド8選!)

明けましておめでとうございます。ドライ市来です🐗。

唐突ではありますが、知ってると便利かもしれないStringクラスのメソッドを8つをざっくりと紹介したいと思います。

1.abbreviate(maxWidth)


指定の文字数以上の場合、末尾を「...」にする関数

◆サンプルコード

String str = 'じゅげむじゅげむごこうのすりきれ';

System.debug('abbreviate:' + str.abbreviate(11));

abbreviate

2.deleteWhitespace()


空白を全部削除する関数

◆サンプルコード

String str = '  (  ●  ゜   ◇   ゜  ●  )  ';

System.debug('deleteWhitespace:' + str.deleteWhitespace());

deletewhitespace

3.startsWith(prefix)


先頭が引数の文字列かどうかを判定する関数

◆サンプルコード

String str1 = '090-0000-XXXX';
String str2 = '030-0000-YYYY';

System.debug('str1.startsWith:' + str1.startsWith('090'));
System.debug('str2.startsWith:' + str2.startsWith('090'));

startswith

4.endsWith(suffix)


末尾が引数の文字列かどうかを判定する関数

◆サンプルコード

String str1 = 'CustomObject__c';
String str2 = 'Account';

System.debug('str1.endsWith:' + str1.endsWith('__c'));
System.debug('str2.endsWith:' + str2.endsWith('__c'));

endswith

5.format(stringToFormat, formattingArguments)


第1引数の文字列に第2引数の文字配列で置換する関数

◆サンプルコード

String errMsg = 'エラー:「{0}」は{1}文字以下で入力してください。';

System.debug('errMsg:' + String.format(errMsg, new String[]{'取引先名', '80'}));

format

6.join(iterableObj, separator)


リストを特定の文字列区切りの文字列に変換する関数

◆サンプルコード

List<String>strList = new List();
strList.add('Phone <> null');
strList.add('CreatedDate = TODAY');
strList.add('NumberOfEmployees > 100');

System.debug('str:' + String.join(strList, ' AND '));

join

7.leftPad(length)、rightPad(length)


対象の文字列を引数の文字数分の半角スペースで埋めてくれる関数

◆サンプルコード

String str = '123';

System.debug('str:leftPad :' + '|' + str.leftPad(8) + '|');
System.debug('str:rightPad:' + '|' + str.rightPad(8) + '|');

leftpad_rightpad
※ちょっと見づらいですが、ちゃんと空白で埋まっています。



8.substringAfter(separator)、substringBefore(separator)、substringAfterLast(separator)、substringBeforeLast(separator)


引数の文字列を基準にSubstringする関数

◆サンプルコード

String str = 'n-sysdes.co.jp';

System.debug('str:substringAfter:' + str.substringAfter('.'));
System.debug('str:substringBefore:' + str.substringBefore('.'));
System.debug('str:substringAfterLast:' + str.substringAfterLast('.'));
System.debug('str:substringBeforeLast:' + str.substringBeforeLast('.'));

substringafter_substringbefore_substringafterlast_substringbeforelast


さいごに


ほかにも様々なメソッドがありますので、ちょっとした空き時間にでもApex開発者ガイドを読んでみるのはいかがでしょうか。