Salesforce Apex 文字列クラスには、標準取引先オブジェクトの業種や評価項目などの文字列/テキスト データ型に適用される組み込みメソッドが多数あります。これらのメソッドを使用して、必要に応じて Salesforce データを操作できます。 Apex では、「String」データ型を使用して文字列を宣言できます。このガイドでは、アカウントや連絡先などの Salesforce 標準オブジェクトに文字列メソッドを適用することに焦点を当てます。
Apex 文字列クラス
String クラスは、プリミティブなすべての文字列メソッドをサポートします。システム名前空間を使用します。文字列の宣言に使用されるデータ型は、文字列の後に変数が続きます。この変数に文字列を割り当てることができます。
構文:
文字列変数 = ”文字列”;Apex の「文字列」クラスで使用できるメソッドについて説明しましょう。
1. toLowerCase()
基本的に、このメソッドは文字列に含まれるすべての文字を小文字に変換します。 Salesforce オブジェクト レコード (文字列関連フィールド) を小文字に変換する必要がある場合は、toLowerCase() メソッドを使用できます。オブジェクトを操作しているときに、Salesforce オブジェクトを操作しているときに fieldName を渡す必要があります。
構文:
- string.toLowerCase()
- Salesforce_obj.fieldName.toLowerCase()
一般的な例:
「LINUXHINT」という文字列を小文字に変換してみましょう。
文字列 my_stri = 'LINUXHINT';
system.debug('Actual:'+ my_stri);
system.debug('Lowercase:'+ my_stri.toLowerCase());
出力:
Salesforce 連絡先オブジェクトの場合:
「部署」と「役職」で「連絡先」オブジェクトを作成し、このメソッドを「連絡先」オブジェクト レコードに適用します。
// 2 つのインスタンス レコードで連絡先オブジェクトを作成します
Contact obj = new Contact(Department='SALES',Title='Manager-executive');
system.debug('連絡先データ:'+obj);
// toLowerCase()
system.debug('小文字の部署: '+obj.Department.toLowerCase());
system.debug('小文字のタイトル: '+obj.Title.toLowerCase());
出力:
2.toUpperCase()
このメソッドは、文字列 (Apex の「文字列」クラスから宣言された) に存在するすべての文字を大文字に変換します。
Salesforce オブジェクト レコード (文字列関連フィールド) を大文字に変換する必要がある場合は、toUpperCase() メソッドを使用できます。オブジェクトを操作しているときに、Salesforce オブジェクトを操作しているときに fieldName を渡す必要があります。
構文:
- string.toUpperCase()
- Salesforce_obj.fieldName.toUpperCase()
一般的な例:
「linuxhint」文字列を取得して、大文字に変換しましょう。
文字列 my_stri = 'linuxhint';system.debug('Actual:'+ my_stri);
system.debug('Uppercase:'+ my_stri.toUpperCase());
出力:
Salesforce 連絡先オブジェクトの場合:
「部署」と「役職」で「連絡先」オブジェクトを作成し、このメソッドを「連絡先」オブジェクト レコードに適用します。
Contact obj = new Contact(Department='SALES',Title='Manager-executive');system.debug('連絡先データ:'+obj);
// toUpperCase()
system.debug('大文字の部署: '+obj.Department.toUpperCase());
system.debug('大文字のタイトル: '+obj.Title.toUpperCase());
出力:
3.大文字にする()
最初の文字が大文字の形式で表示されるのは良いことです。この方法では、最初の文字のみが大文字になります。前のメソッドと同様に、パラメーターは必要ありません。
構文:
- 文字列.大文字にする()
- Salesforce_obj.fieldName.capitalize()
一般的な例:
「linux ヒント」文字列を用意して、最初の文字を大文字に変換してみましょう。
String my_stri = 'linux ヒント';system.debug('Actual:'+ my_stri);
system.debug(my_stri.capitalize());
出力:
Salesforce 連絡先オブジェクトの場合:
このメソッドを「連絡先」オブジェクト フィールド (Department と Title) に適用して、文字列の最初の文字を大文字にしましょう。
Contact obj = new Contact(Department='sALES',Title='manager-executive');system.debug('連絡先データ:'+obj);
//大文字にする()
system.debug(obj.Department.capitalize());
system.debug(obj.Title.capitalize());
出力:
4.Contains()
Apex の string contains() メソッドを使用して、文字列が別の文字列に存在するかどうかを確認できます。指定された文字列が実際の文字列に存在する場合は、真のブール値を返します。それ以外の場合は false が返されます。
構文:
- actual_string.contains(check_string)
- Salesforce_obj.fieldName.contains(check_string)
一般的な例:
「linux ヒント」文字列を用意して、この文字列に「linux」と「python」の文字列が存在するかどうかを確認します。
String my_stri = 'linux ヒント';system.debug('Actual:'+ my_stri);
system.debug('linux が存在します:'+my_stri.contains('linux'));
system.debug('python が存在します:'+my_stri.contains('python'));
出力:
Salesforce 連絡先オブジェクトの場合:
「営業担当」の肩書に「営業」「工程」の文字列が存在するかどうかを確認します。
Contact obj = new Contact(Title='Sales-executive');system.debug('連絡先データ:'+obj);
// 含む()
system.debug(obj.Title.contains('Sales'));
system.debug(obj.Title.contains('プロセス'));
出力:
5.startWith()
Apex の「string」クラスの startsWith() メソッドは、指定された文字列が Salesforce オブジェクトの指定された文字列/項目値で始まる場合に true を返します。それ以外の場合は false が返されます。パラメータとして文字列を取ります。
構文:
- actual_string.startsWith(check_string)
- Salesforce_obj.fieldName.startsWith(check_string)
一般的な例:
「linux ヒント」文字列を用意して、「linux」および「python」文字列で始まるかどうかを確認してみましょう。
String my_stri = 'linux ヒント';system.debug('Actual:'+ my_stri);
system.debug('Linux で開始: '+my_stri.startsWith('linux'));
system.debug('Python で開始: '+my_stri.startsWith('python'));
出力:
Salesforce 連絡先オブジェクトの場合:
「Sales-executive」のタイトルが「Sales」と「executive」で始まっているかどうかを個別に確認します。
Contact obj = new Contact(Title='Sales-executive');system.debug('連絡先データ:'+obj);
// startsWith()
system.debug(obj.Title.startsWith('Sales'));
system.debug(obj.Title.startsWith('executive'));
出力:
6.endWith()
指定された文字列が Salesforce オブジェクトの指定された文字列/項目値で終わる場合、Apex の「文字列」クラスの endWith() メソッドは true を返します。それ以外の場合は false が返されます。パラメータとして文字列を取ります。
構文:
- actual_string.endsWith(check_string)
- Salesforce_obj.fieldName.endsWith(check_string)
一般的な例:
「linux ヒント」文字列を用意して、「ヒント」文字列と「linux」文字列で始まるかどうかを確認してみましょう。
String my_stri = 'linux ヒント';system.debug('Actual:'+ my_stri);
system.debug('ヒントで終了: '+my_stri.endsWith('hint'));
system.debug('Linux で終了: '+my_stri.endsWith('linux'));
出力:
Salesforce 連絡先オブジェクトの場合:
「Sales-executive」のタイトルが「Sales」と「executive」で終わっているかどうかを個別に確認します。
Contact obj = new Contact(Title='Sales-executive');system.debug('連絡先データ:'+obj);
// endWith()
system.debug(obj.Title.endsWith('Sales'));
system.debug(obj.Title.endsWith('executive'));
出力:
7. スワップケース()
このメソッドは、(Lower – Upper)/(Upper – Lower) 文字列内の文字を交換し、更新された文字列を返す Apex の「string」クラスで使用できます。このメソッドに引数は必要ありません。
構文:
- string.swapCase()
- Salesforce_obj.fieldName.swapCase()
一般的な例:
「Linux Hint」文字列を用意して、その中のすべての文字を入れ替えましょう。
文字列 my_stri = 'Linux ヒント';system.debug('Actual:'+ my_stri);
system.debug('スワップされた文字:'+ my_stri.swapCase());
出力:
Salesforce アカウント オブジェクトの場合:
「Linux Hint」という名前のアカウントを考えて、その中のすべての文字を入れ替えます。
Account obj = new Account();system.debug('アカウント名:'+obj);
// swapCase()
system.debug(obj.Name.swapCase());
出力:
8. isAllLowerCase()
文字列内のすべての文字が小文字かどうかを確認する場合は、このメソッドを使用できます。すべての文字が小文字の場合、true が返されます。それ以外の場合は false が返されます。このメソッドにはパラメーターは必要ありません。
構文:
- string.isAllLowerCase()
- Salesforce_obj.fieldName.isAllLowerCase()
一般的な例:
「linuxhint」文字列を用意し、 isAllLowerCase() メソッドを適用して、文字列内のすべての文字が小文字かどうかを確認してみましょう。
文字列 my_stri = 'linuxhint';system.debug('Actual:'+ my_stri);
system.debug( my_stri.isAllLowerCase());
出力:
Salesforce アカウント オブジェクトの場合:
「linuxhint」アカウント名のすべての文字が小文字かどうかを確認します。
アカウント obj = 新しいアカウント();system.debug('アカウント名:'+obj);
// isAllLowerCase()
system.debug(obj.Name.isAllLowerCase());
出力:
9. isAllUpperCase()
前の方法と同様に、文字列内のすべての文字が大文字かどうかを確認することもできます。また、パラメーターをとらず、ブール値 (true/false) を返します。
構文:
- string.isAllUpperCase()
- Salesforce_obj.fieldName.isAllUpperCase()
一般的な例:
「LINUXHINT」文字列を用意し、 isAllUpperCase() メソッドを適用して、文字列内のすべての文字が小文字かどうかを確認してみましょう。
文字列 my_stri = 'LINUXHINT';system.debug('Actual:'+ my_stri);
system.debug( my_stri.isAllUpperCase());
出力:
Salesforce アカウント オブジェクトの場合:
「AGRICULTURE」のアカウント名がすべて大文字になっているか確認してください。
Account obj = new Account();system.debug('アカウント名:'+obj);
// isAllLUpperCase()
system.debug(obj.Name.isAllUpperCase());
出力:
10.リバース()
Apex の「string」クラスの reverse() メソッドは、指定された文字列を反転します。また、パラメーターを使用せず、文字列を返します。
構文:
- 文字列.リバース()
- Salesforce_obj.fieldName.reverse()
一般的な例:
「linux ヒント」文字列を用意して、それを逆にしましょう。
文字列 my_stri = 'linuxhint';system.debug('Actual:'+ my_stri);
system.debug('Reversed:'+ my_stri.reverse());
出力:
Salesforce アカウント オブジェクトの場合:
「linuxhint」という名前でアカウント オブジェクトを作成し、それを逆にします。
アカウント obj = 新しいアカウント();system.debug('アカウント名:'+obj);
// 逆行する()
system.debug(obj.Name.reverse());
出力:
結論
Salesforce Apex の「文字列」クラスについて説明しました。次に、そのメソッドに進み、1 つずつ詳細に説明します。各メソッドでは、これらのメソッドを単純な文字列と「アカウント」や「連絡先」などの Salesforce 標準オブジェクトに適用する方法を学びました。 Apex の「string」クラスの上位 10 の便利なメソッドについて、例と適切な出力スクリーンショットとともに説明します。この記事を読んだ後、これらの文字列メソッドを Salesforce データに適用する方法がわかったはずです。