2017.01.06
小ネタ集:知っていると非常に便利なStringクラスのメソッド8選!
こんにちは!
唐突ではありますが、知ってると便利かもしれないStringクラスのメソッドを8つをざっくりと紹介したいと思います。
1.abbreviate(maxWidth)
指定の文字数以上の場合、末尾を「…」にする関数 ◆サンプルコード
String str = 'じゅげむじゅげむごこうのすりきれ';
System.debug('abbreviate:' + str.abbreviate(11));
2.deleteWhitespace()
空白を全部削除する関数 ◆サンプルコード
String str = ' ( ● ゜ ◇ ゜ ● ) ';
System.debug('deleteWhitespace:' + str.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'));
4.endsWith(suffix)
末尾が引数の文字列かどうかを判定する関数 ◆サンプルコード
String str1 = 'CustomObject__c';
String str2 = 'Account';
System.debug('str1.endsWith:' + str1.endsWith('__c'));
System.debug('str2.endsWith:' + str2.endsWith('__c'));
5.format(stringToFormat, formattingArguments)
第1引数の文字列に第2引数の文字配列で置換する関数 ◆サンプルコード
String errMsg = 'エラー:「{0}」は{1}文字以下で入力してください。';
System.debug('errMsg:' + String.format(errMsg, new String[]{'取引先名', '80'}));
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 '));
7.leftPad(length)、rightPad(length)
対象の文字列を引数の文字数分の半角スペースで埋めてくれる関数 ◆サンプルコード
String str = '123';
System.debug('str:leftPad :' + '|' + str.leftPad(8) + '|');
System.debug('str:rightPad:' + '|' + str.rightPad(8) + '|');
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('.'));
さいごに
ほかにも様々なメソッドがありますので、ちょっとした空き時間にでもApex開発者ガイドを読んでみるのはいかがでしょうか。