String クラス
String のメソッド
String のメソッドは次のとおりです。
abbreviate(maxWidth)
署名
public String abbreviate(Integer maxWidth)
パラメーター
- maxWidth
- 型: Integer
- maxWidth が 4 未満の場合、このメソッドは実行時例外を発生させます。
戻り値
型: String
例
1String s = 'Hello Maximillian';
2String s2 = s.abbreviate(8);
3System.assertEquals('Hello...', s2);
4System.assertEquals(8, s2.length());abbreviate(maxWidth, offset)
署名
public String abbreviate(Integer maxWidth, Integer offset)
パラメーター
戻り値
型: String
例
1String s = 'Hello Maximillian';
2// Start at M
3String s2 = s.abbreviate(9,6);
4System.assertEquals('...Max...', s2);
5System.assertEquals(9, s2.length());capitalize()
署名
public String capitalize()
戻り値
型: String
使用方法
このメソッドは、Character.toTitleCase(char) Java メソッドに基づいてます。
例
1String s = 'hello maximillian';
2String s2 = s.capitalize();
3System.assertEquals('Hello maximillian', s2);center(size, paddingString)
署名
public String center(Integer size, String paddingString)
戻り値
型: String
例
1String s = 'hello';
2String s2 = s.center(9, '-');
3System.assertEquals('--hello--', s2);charAt(index)
署名
public Integer charAt(Integer index)
パラメーター
- index
- 型: Integer
- 値を取得する文字のインデックス。
使用方法
charAt メソッドは、指定されたインデックスで参照される文字の値を返します。インデックスがサロゲートペアの先頭 (上位サロゲートコードポイント) を参照している場合、このメソッドは上位サロゲートコードポイントのみを返します。サロゲートペアに対応する補助コードポイントを返すには、代わりに codePointAt をコールします。
例
次の例では、インデックス 0 にある最初の文字の値を取得します。
1String str = 'Ω is Omega.';
2System.assertEquals(937, str.charAt(0));次の例では charAt と codePointAt の違いを示します。この例では、これらのメソッドをエスケープされた補助 Unicode 文字に対してコールします。charAt(0) は、上位サロゲート値 (\uD835 に対応) を返します。codePointAt(0) は、サロゲートペア全体の値を返します。
1String str = '\uD835\uDD0A';
2System.assertEquals(55349, str.charAt(0),
3 'charAt(0) didn\'t return the high surrogate.');
4System.assertEquals(120074, str.codePointAt(0),
5 'codePointAt(0) didn\'t return the entire two-character supplementary value.');codePointAt(index)
署名
public Integer codePointAt(Integer index)
パラメーター
- index
- 型: Integer
- 文字列に含まれる文字 (Unicode コードユニット) のインデックス。インデックス範囲は 0 ~ (文字列長 - 1) です。
使用方法
index がサロゲートペアの先頭 (上位サロゲートコードポイント) を参照していて、その次のインデックスの文字値が下位サロゲートコードポイントを参照している場合、このメソッドはサロゲートペアに対応する補助コードポイントを返します。それ以外の場合、このメソッドは所定のインデックスにある文字値を返します。
Unicode とサロゲートペアについての詳細は、「ユニコードコンソーシアム」を参照してください。
例
次の例では、インデックス 0 にある最初の文字のコードポイント値を取得します。この場合は、エスケープされたオメガ (Ω) 文字です。また、この例ではインデックス 20 のコードポイントも取得します。これはエスケープされた補助 Unicode 文字 (文字のペア) に対応します。さらに、オメガのエスケープされた形式とエスケープされていない形式のコードポイント値が同じであることを検証します。
この例の補助文字 (\\uD835\\uDD0A) は、次の数学用フラクトゥール大文字 G に対応します。 
1String str = '\u03A9 is Ω (Omega), and \uD835\uDD0A ' +
2 ' is Fraktur Capital G.';
3System.assertEquals(937, str.codePointAt(0));
4System.assertEquals(120074, str.codePointAt(20));
5// Escaped or unescaped forms of the same character have the same code point
6System.assertEquals(str.codePointAt(0), str.codePointAt(5));codePointBefore(index)
署名
public Integer codePointBefore(Integer index)
パラメーター
- index
- 型: Integer
- 返される Unicode コードポイントの前のインデックス。インデックス範囲は 1 ~文字列長です。
使用方法
index-1 の文字値が下位サロゲートコードポイントで、index-2 が負ではなく、このインデックス位置にある文字が上位サロゲートコードポイントである場合、このメソッドはこのサロゲートペアに対応する補助コードポイントを返します。index-1 の文字値がペアになっていない下位サロゲートまたは上位サロゲートコードポイントである場合、そのサロゲート値が返されます。
Unicode とサロゲートペアについての詳細は、「ユニコードコンソーシアム」を参照してください。
例
次の例では、最初の文字 (インデックス 1 の前) のコードポイント値を取得します。この場合は、エスケープされたオメガ (Ω) 文字です。また、この例ではインデックス 20 のコードポイントも取得します。これはエスケープされた補助文字 (インデックス 22 の前の 2 文字) に対応します。
1String str = '\u03A9 is Ω (Omega), and \uD835\uDD0A ' +
2 ' is Fraktur Capital G.';
3System.assertEquals(937, str.codePointBefore(1));
4System.assertEquals(120074, str.codePointBefore(22));codePointCount(beginIndex, endIndex)
署名
public Integer codePointCount(Integer beginIndex, Integer endIndex)
使用方法
指定された範囲は beginIndex で開始し、endIndex—1 で終了します。テキスト範囲内のペアになっていないサロゲートは、それぞれ 1 つのコードポイントと見なされます。
例
次の例では、エスケープされた Unicode 文字が含まれるサブ文字列と、1 つのコードポイントと見なされる複数の Unicode 補助文字が含まれる別のサブ文字列内のコードポイントの件数を出力します。
1String str = '\u03A9 and \uD835\uDD0A characters.';
2System.debug('Count of code points for ' + str.substring(0,1)
3 + ': ' + str.codePointCount(0,1));
4System.debug('Count of code points for ' + str.substring(6,8)
5 + ': ' + str.codePointCount(6,8));
6
7// Output:
8// Count of code points for Ω: 1
9// Count of code points for : 1compareTo(secondString)
署名
public Integer compareTo(String secondString)
パラメーター
- secondString
- 型: String
戻り値
型: Integer
使用方法
結果は次のとおりです。
- メソッドをコールした string が辞書編集的に secondString の前に来る場合は負の Integer
- メソッドをコールした string が辞書編集的に compsecondStringString の後に来る場合は正の Integer
- string が等しい場合は 0
string が異なるインデックス位置がない場合、辞書編集的に短い string が長い string の後になります。
equals メソッドが true を返す場合、このメソッドは 0 を返します。
例
1String myString1 = 'abcde';
2String myString2 = 'abcd';
3Integer result =
4 myString1.compareTo(myString2);
5System.assertEquals(result, 1);contains(substring)
署名
public Boolean contains(String substring)
パラメーター
- substring
- 型: String
戻り値
型: Boolean
例
1String myString1 = 'abcde';
2String myString2 = 'abcd';
3Boolean result =
4 myString1.contains(myString2);
5System.assertEquals(result, true);containsAny(inputString)
署名
public Boolean containsAny(String inputString)
パラメーター
- inputString
- 型: String
戻り値
型: Boolean
例
1String s = 'hello';
2Boolean b1 = s.containsAny('hx');
3Boolean b2 = s.containsAny('x');
4System.assertEquals(true, b1);
5System.assertEquals(false, b2);containsNone(inputString)
署名
public Boolean containsNone(String inputString)
パラメーター
- inputString
- 型: String
- inputString が空の文字列の場合または現在の string が空の場合、このメソッドは true を返します。inputString が null の場合、このメソッドは実行時例外を返します。
戻り値
型: Boolean
例
1String s1 = 'abcde';
2System.assert(s1.containsNone('fg'));containsOnly(inputString)
署名
public Boolean containsOnly(String inputString)
パラメーター
- inputString
- 型: String
戻り値
型: Boolean
例
1String s1 = 'abba';
2String s2 = 'abba xyz';
3Boolean b1 =
4 s1.containsOnly('abcd');
5System.assertEquals(
6 true,
7 b1);
8Boolean b2 =
9 s2.containsOnly('abcd');
10System.assertEquals(
11 false,
12 b2);containsWhitespace()
署名
public Boolean containsWhitespace()
戻り値
型: Boolean
例
1String s = 'Hello Jane';
2System.assert(s.containsWhitespace()); //true
3s = 'HelloJane ';
4System.assert(s.containsWhitespace()); //true
5s = ' HelloJane';
6System.assert(s.containsWhitespace()); //true
7s = 'HelloJane';
8System.assert(!s.containsWhitespace()); //falsecountMatches(substring)
署名
public Integer countMatches(String substring)
パラメーター
- substring
- 型: String
戻り値
型: Integer
例
1String s = 'Hello Jane';
2System.assertEquals(1, s.countMatches('Hello'));
3s = 'Hello Hello';
4System.assertEquals(2, s.countMatches('Hello'));
5s = 'Hello hello';
6System.assertEquals(1, s.countMatches('Hello'));deleteWhitespace()
署名
public String deleteWhitespace()
戻り値
型: String
例
1String s1 = ' Hello Jane ';
2String s2 = 'HelloJane';
3System.assertEquals(s2, s1.deleteWhitespace());difference(secondString)
署名
public String difference(String secondString)
パラメーター
- secondString
- 型: String
- secondString が空の文字列の場合、このメソッドは空の文字列を返します。secondString が null の場合、このメソッドは実行時例外を発生させます。
戻り値
型: String
例
1String s = 'Hello Jane';
2String d1 =
3 s.difference('Hello Max');
4System.assertEquals(
5 'Max',
6 d1);
7String d2 =
8 s.difference('Goodbye');
9System.assertEquals(
10 'Goodbye',
11 d2);equals(secondString)
署名
public Boolean equals(String secondString)
パラメーター
- secondString
- 型: String
戻り値
型: Boolean
使用方法
compareTo メソッドが 0 を返す場合、このメソッドは true を返します。
このメソッドを使用して、大文字と小文字を区別する比較を実行します。他方、== 演算子は、Apex セマンティックを一致させるために大文字と小文字を区別しない比較を実行します。
例
1String myString1 = 'abcde';
2String myString2 = 'abcd';
3Boolean result = myString1.equals(myString2);
4System.assertEquals(result, false);equals(stringOrId)
署名
public Boolean equals(Object stringOrId)
パラ���ーター
- stringOrId
- 型: Object
戻り値
型: Boolean
使用方法
ID 値を比較する場合、ID の長さが同じである必要はありません。たとえば、15 文字の ID 文字列を同等の 18 文字の ID 値を表すオブジェクトと比較した場合、このメソッドは true を返します。15 文字と 18 文字の ID についての詳細は、「ID データ型」を参照してください。
このメソッドを使用して、大文字と小文字を区別する比較を実行します。他方、== 演算子は、Apex セマンティックを一致させるために大文字と小文字を区別しない比較を実行します。
例
次の例は、さまざまな種別の変数を比較して、値が等価であった場合と等価ではなかった場合の両方を示しています。また、Apex によって比較される前に、特定の値がどのように自動変換されるかも示しています。
1// Compare a string to an object containing a string
2Object obj1 = 'abc';
3String str = 'abc';
4Boolean result1 = str.equals(obj1);
5System.assertEquals(true, result1);
6
7// Compare a string to an object containing a number
8Integer obj2 = 100;
9Boolean result2 = str.equals(obj2);
10System.assertEquals(false, result2);
11
12// Compare a string to an ID of the same length.
13// 15-character ID
14Id idValue15 = '001D000000Ju1zH';
15// 15-character ID string value
16String stringValue15 = '001D000000Ju1zH';
17Boolean result3 = stringValue15.equals(IdValue15);
18System.assertEquals(true, result3);
19
20// Compare two equal ID values of different lengths:
21// 15-character ID and 18-character ID
22Id idValue18 = '001D000000Ju1zHIAR';
23Boolean result4 = stringValue15.equals(IdValue18);
24System.assertEquals(true, result4);equalsIgnoreCase(secondString)
署名
public Boolean equalsIgnoreCase(String secondString)
パラメーター
- secondString
- 型: String
戻り値
型: Boolean
使用方法
String.equalsIgnoreCase() メソッドは、コンテキストユーザーのロケールを無視します。ロケールに従って文字列を比較したい場合は、代わりに == 演算子を使用します。String.equalsIgnoreCase() メソッドはロケールを無視するため、通常はこの演算子よりも高速に実行されます。
例
1String myString1 = 'abcd';
2String myString2 = 'ABCD';
3Boolean result =
4myString1.equalsIgnoreCase(myString2);
5System.assertEquals(result, true);escapeCsv()
署名
public String escapeCsv()
戻り値
型: String
使用方法
string にカンマ、改行、または二重引用符が含まれる場合、返される string は二重引用符で囲まれます。また、文字列内のすべての二重引用符はさらにもう 1 つの二重引用符でエスケープされます。
string にカンマ、改行、二重引用符が含まれない場合、string が変更されずに返されます。
例
1String s1 = 'Max1, "Max2"';
2String s2 = s1.escapeCsv();
3System.assertEquals('"Max1, ""Max2"""', s2);escapeEcmaScript()
署名
public String escapeEcmaScript()
戻り値
型: String
使用方法
Apex string と EcmaScript string の唯一の違いは、EcmaScript では単一引用符とスラッシュ (/) がエスケープされる点です。
例
1String s1 = '"grade": 3.9/4.0';
2String s2 = s1.escapeEcmaScript();
3System.debug(s2);
4// Output is:
5// \"grade\": 3.9\/4.0
6System.assertEquals(
7 '\\"grade\\": 3.9\\/4.0',
8 s2);escapeHtml3()
署名
public String escapeHtml3()
戻り値
型: String
例
1String s1 =
2 '"<Black&White>"';
3String s2 =
4 s1.escapeHtml3();
5System.debug(s2);
6// Output:
7// "<Black&
8// White>"escapeHtml4()
署名
public String escapeHtml4()
戻り値
型: String
例
1String s1 =
2 '"<Black&White>"';
3String s2 =
4 s1.escapeHtml4();
5System.debug(s2);
6// Output:
7// "<Black&
8// White>"escapeJava()
署名
public String escapeJava()
例
1// Input string contains quotation marks
2String s = 'Company: "Salesforce.com"';
3String escapedStr = s.escapeJava();
4// Output string has the quotes escpaded
5System.assertEquals('Company: \\"Salesforce.com\\"', escapedStr);escapeSingleQuotes(stringToEscape)
署名
public static String escapeSingleQuotes(String stringToEscape)
パラメーター
- stringToEscape
- 型: String
戻り値
型: String
使用方法
このメソッドは動的 SOQL ステートメントの作成時に役に立ち、SOQL インジェクションを回避します。動的 SOQL についての詳細は、「動的 SOQL」を参照してください。
例
1String s = '\'Hello Jason\'';
2system.debug(s); // Outputs 'Hello Jason'
3String escapedStr = String.escapeSingleQuotes(s);
4// Outputs \'Hello Jason\'
5system.debug(escapedStr);
6// Escapes the string \\\' to string \'
7system.assertEquals('\\\'Hello Jason\\\'', escapedStr);escapeUnicode()
署名
public String escapeUnicode()
例
1String s = 'De onde você é?';
2String escapedStr = s.escapeUnicode();
3System.assertEquals('De onde voc\\u00EA \\u00E9?', escapedStr);escapeXml()
署名
public String escapeXml()
戻り値
型: String
使用方法
5 つの基本 XML エンティティ (gt、lt、quot、amp、apos) のみをサポートします。DTD または外部エンティティはサポートしていません。0x7f より大きい Unicode 文字はエスケープされません。
例
1String s1 =
2 '"<Black&White>"';
3String s2 =
4 s1.escapeXml();
5System.debug(s2);
6// Output:
7// "<Black&
8// White>"format(stringToFormat, formattingArguments)
署名
public static String format(String stringToFormat, List<Object> formattingArguments)
戻り値
型: String
バージョン管理動作の変更
バージョン 51.0 以降、format() メソッドは、stringToFormat パラメーターの単一引用符をサポートし、formattingArguments パラメーターを使用して書式設定された文字列を返します。バージョン 50.0 以前では、単一引用符はサポートされていませんでした。
例
1String template = '{0} was last updated {1}';
2List<Object> parameters = new List<Object> {'Universal Containers', DateTime.newInstance(2018, 11, 15) };
3String formatted = String.format(template, parameters);
4System.debug ('Newly formatted string is:' + formatted);getLevenshteinDistance(stringToCompare)
署名
public Integer getLevenshteinDistance(String stringToCompare)
パラメーター
- stringToCompare
- 型: String
戻り値
型: Integer
使用方法
レーベンシュタイン距離は、ある文字列から別の文字列に変更するために必要な変更の回数です。1 文字の変更 (削除、挿入、または置換) が 1 つの変更としてカウントされます。
例
1String s = 'Hello Joe';
2Integer i = s.getLevenshteinDistance('Hello Max');
3System.assertEquals(3, i);getLevenshteinDistance(stringToCompare, threshold)
署名
public Integer getLevenshteinDistance(String stringToCompare, Integer threshold)
戻り値
型: Integer
使用方法
レーベンシュタイン距離は、ある文字列から別の文字列に変更するために必要な変更の回数です。1 文字の変更 (削除、挿入、または置換) が 1 つの変更としてカウントされます。
例:
この例では、レーベンシュタイン距離は 3 ですが、しきい値の引数が 2 でこの距離よりも小さいため、このメソッドは -1 を返します。
例
1String s = 'Hello Jane';
2Integer i = s.getLevenshteinDistance('Hello Max', 2);
3System.assertEquals(-1, i);hashCode()
署名
public Integer hashCode()
戻り値
型: Integer
使用方法
この値は、Java String.hashCode の同等メソッドによって計算されるハッシュコードに基づきます。
このメソッドを使用して、String メンバー変数を含むカスタム型に対してハッシュコードの計算を簡単にすることができます。各 String 変数のハッシュコードに基づいて、使用しているデータ型のハッシュコードを計算できます。次に例を示します。
カスタム型を持つハッシュコードメソッドの使用の詳細については、「対応付けのキーとセットでのカスタムデータ型の使用」を参照してください。
例
1public class MyCustomClass {
2 String x,y;
3 // Provide a custom hash code
4 public Integer hashCode() {
5 return
6 (31*x.hashCode())^(y.hashCode());
7 }
8}indexOf(substring, index)
署名
public Integer indexOf(String substring, Integer index)
戻り値
型: Integer
例
1String myString1 = 'abcdabcd';
2String myString2 = 'ab';
3Integer result = myString1.indexOf(mystring2, 1);
4System.assertEquals(4, result);indexOfChar(character)
署名
public Integer indexOfChar(Integer character)
パラメーター
- character
- 型: Integer
- 文字列内の文字の整数値。
使用方法
このメソッドは、Unicode コードユニットでインデックスを返します。
例
1String str = '\\u03A9 is Ω (Omega)';
2// Returns 0, which is the first character.
3System.debug('indexOfChar(937)=' + str.indexOfChar(937));
4
5// Output:
6// indexOfChar(937)=0indexOfChar(character, startIndex)
署名
public Integer indexOfChar(Integer character, Integer startIndex)
使用方法
このメソッドは、Unicode コードユニットでインデックスを返します。
例
次の例では、さまざまな方法でオメガ (Ω) 文字のインデックスを検索します。indexOfChar への最初のコールでは、開始インデックスを指定しないため、返されるインデックスは、文字列全体でオメガが最初に出現した位置を示す 0 です。後続のコールでは、開始インデックスを指定して、指定されたインデックスから開始するサブ文字列内でオメガが最初に出現した位置を検索します。
1String str = 'Ω and \\u03A9 and Ω';
2System.debug('indexOfChar(937)=' + str.indexOfChar(937));
3System.debug('indexOfChar(937,1)=' + str.indexOfChar(937,1));
4System.debug('indexOfChar(937,10)=' + str.indexOfChar(937,10));
5
6// Output:
7// indexOfChar(937)=0
8// indexOfChar(937,1)=6, (corresponds to the escaped form \\u03A9)
9// indexOfChar(937,10)=12indexOfIgnoreCase(substring)
署名
public Integer indexOfIgnoreCase(String substring)
パラメーター
- substring
- 型: String
戻り値
型: Integer
例
1String s1 = 'abcd';
2String s2 = 'BC';
3Integer result = s1.indexOfIgnoreCase(s2, 0);
4System.assertEquals(1, result);isAllLowerCase()
署名
public Boolean isAllLowerCase()
戻り値
型: Boolean
例
1String allLower = 'abcde';
2System.assert(allLower.isAllLowerCase());isAllUpperCase()
署名
public Boolean isAllUpperCase()
戻り値
型: Boolean
例
1String allUpper = 'ABCDE';
2System.assert(allUpper.isAllUpperCase());isAlpha()
署名
public Boolean isAlpha()
戻り値
型: Boolean
例
1// Letters only
2String s1 = 'abc';
3// Returns true
4Boolean b1 =
5 s1.isAlpha();
6System.assertEquals(
7 true, b1);
8
9// Letters and numbers
10String s2 = 'abc 21';
11// Returns false
12Boolean b2 =
13 s2.isAlpha();
14System.assertEquals(
15 false, b2);isAlphaSpace()
署名
public Boolean isAlphaSpace()
戻り値
型: Boolean
例
1String alphaSpace = 'aA Bb';
2System.assert(alphaSpace.isAlphaSpace());
3String notAlphaSpace = 'ab 12';
4System.assert(!notAlphaSpace.isAlphaSpace());
5notAlphaSpace = 'aA$Bb';
6System.assert(!notAlphaSpace.isAlphaSpace());isAlphanumeric()
署名
public Boolean isAlphanumeric()
戻り値
型: Boolean
例
1// Letters only
2String s1 = 'abc';
3// Returns true
4Boolean b1 =
5 s1.isAlphanumeric();
6System.assertEquals(
7 true, b1);
8
9// Letters and numbers
10String s2 = 'abc021';
11// Returns true
12Boolean b2 =
13 s2.isAlphanumeric();
14System.assertEquals(
15 true, b2);isAlphanumericSpace()
署名
public Boolean isAlphanumericSpace()
戻り値
型: Boolean
例
1String alphanumSpace = 'AE 86';
2System.assert(alphanumSpace.isAlphanumericSpace());
3String notAlphanumSpace = 'aA$12';
4System.assert(!notAlphanumSpace.isAlphaSpace());isAsciiPrintable()
署名
public Boolean isAsciiPrintable()
戻り値
型: Boolean
例
1String ascii = 'abcd1234!@#$%^&*()`~-_+={[}]|:<,>.?';
2System.assert(ascii.isAsciiPrintable());
3String notAscii = '√';
4System.assert(!notAscii.isAsciiPrintable());isBlank(inputString)
署名
public static Boolean isBlank(String inputString)
パラメーター
- inputString
- 型: String
戻り値
型: Boolean
例
1String blank = '';
2String nullString = null;
3String whitespace = ' ';
4System.assert(String.isBlank(blank));
5System.assert(String.isBlank(nullString));
6System.assert(String.isBlank(whitespace));
7String alpha = 'Hello';
8System.assert(!String.isBlank(alpha));isEmpty(inputString)
署名
public static Boolean isEmpty(String inputString)
パラメーター
- inputString
- 型: String
戻り値
型: Boolean
例
1String empty = '';
2String nullString = null;
3System.assert(String.isEmpty(empty));
4System.assert(String.isEmpty(nullString));
5String whitespace = ' ';
6String alpha = 'Hello';
7System.assert(!String.isEmpty(whitespace));
8System.assert(!String.isEmpty(alpha));isNotBlank(inputString)
署名
public static Boolean isNotBlank(String inputString)
パラメーター
- inputString
- 型: String
戻り値
型: Boolean
例
1String alpha = 'Hello world!';
2System.assert(String.isNotBlank(alpha));
3String blank = '';
4String nullString = null;
5String whitespace = ' ';
6System.assert(!String.isNotBlank(blank));
7System.assert(!String.isNotBlank(nullString));
8System.assert(!String.isNotBlank(whitespace));isNotEmpty(inputString)
署名
public static Boolean isNotEmpty(String inputString)
パラメーター
- inputString
- 型: String
戻り値
型: Boolean
例
1String whitespace = ' ';
2String alpha = 'Hello world!';
3System.assert(String.isNotEmpty(whitespace));
4System.assert(String.isNotEmpty(alpha));
5String empty = '';
6String nullString = null;
7System.assert(!String.isNotEmpty(empty));
8System.assert(!String.isNotEmpty(nullString));isNumeric()
署名
public Boolean isNumeric()
戻り値
型: Boolean
例
1String numeric = '1234567890';
2System.assert(numeric.isNumeric());
3String alphanumeric = 'R32';
4String decimalPoint = '1.2';
5System.assert(!alphanumeric.isNumeric());
6System.assert(!decimalpoint.isNumeric());isNumericSpace()
署名
public Boolean isNumericSpace()
戻り値
型: Boolean
使用方法
小数点 (1.2) は Unicode 数字ではありません。
例
1String numericSpace = '1 2 3';
2System.assert(numericSpace.isNumericspace());
3String notNumericspace = 'FD3S FC3S';
4System.assert(!notNumericspace.isNumericspace());isWhitespace()
署名
public Boolean isWhitespace()
戻り値
型: Boolean
例
1String whitespace = ' ';
2String blank = '';
3System.assert(whitespace.isWhitespace());
4System.assert(blank.isWhitespace());
5String alphanum = 'SIL80';
6System.assert(!alphanum.isWhitespace());join(iterableObj, separator)
署名
public static String join(Object iterableObj, String separator)
パラメーター
- iterableObj
- 型: Object
- separator
- 型: String
戻り値
型: String
使用方法
1List<Integer> li = new
2 List<Integer>
3 {10, 20, 30};
4String s = String.join(
5 li, '/');
6System.assertEquals(
7 '10/20/30', s);lastIndexOf(substring, endPosition)
署名
public Integer lastIndexOf(String substring, Integer endPosition)
戻り値
型: Integer
使用方法
サブ文字列がない場合または endPosition が負の場合、このメソッドは -1 を返します。endPosition が現在の string の最後のインデックスよりも大きい場合、string 全体が検索されます。
例
1String s1 = 'abcdaacd';
2Integer i1 = s1.lastIndexOf('c', 7);
3System.assertEquals(6, i1);
4Integer i2 = s1.lastIndexOf('c', 3);
5System.assertEquals(2, i2);lastIndexOfChar(character)
署名
public Integer lastIndexOfChar(Integer character)
パラメーター
- character
- 型: Integer
- 文字列内の文字の整数値。
使用方法
このメソッドは、Unicode コードユニットでインデックスを返します。
例
1String str = '\u03A9 is Ω (Omega)';
2// Get the last occurrence of Omega.
3System.assertEquals(5, str.lastIndexOfChar(937));lastIndexOfChar(character, endIndex)
署名
public Integer lastIndexOfChar(Integer character, Integer endIndex)
使用方法
このメソッドは、Unicode コードユニットでインデックスを返します。
例
次の例では、さまざまな方法でオメガ (Ω) 文字が最後に出現した位置のインデックスを検索します。lastIndexOfChar への最初のコールでは、終了インデックスを指定しないため、返されるインデックスは、文字列全体でオメガが最後に出現した位置を示す 12 です。後続のコールでは、終了インデックスを指定して、サブ文字列内でオメガが最後に出現した位置を検索します。
1String str = 'Ω and \u03A9 and Ω';
2System.assertEquals(12, str.lastIndexOfChar(937));
3System.assertEquals(6, str.lastIndexOfChar(937,11));
4System.assertEquals(0, str.lastIndexOfChar(937,5));lastIndexOfIgnoreCase(substring, endPosition)
署名
public Integer lastIndexOfIgnoreCase(String substring, Integer endPosition)
戻り値
型: Integer
使用方法
サブ文字列がない場合または endPosition が負の場合、このメソッドは -1 を返します。endPosition が現在の string の最後のインデックスよりも大きい場合、string 全体が検索されます。
例
1String s1 = 'abcdaacd';
2Integer i1 = s1.lastIndexOfIgnoreCase('C', 7);
3System.assertEquals(6, i1);leftPad(length, padStr)
署名
public String leftPad(Integer length, String padStr)
使用方法
length が現在の string サイズ以下の場合、string 全体が空白の埋め込みなしで返されます。
戻り値
型: String
例
1String s1 = 'abc';
2String s2 = 'xy';
3String s3 = s1.leftPad(7,s2);
4System.assertEquals('xyxyabc', s3);length()
署名
public Integer length()
戻り値
型: Integer
例
1String myString = 'abcd';
2Integer result = myString.length();
3System.assertEquals(result, 4);mid(startIndex, length)
署名
public String mid(Integer startIndex, Integer length)
パラメーター
戻り値
型: String
使用方法
このメソッドは、substring(startIndex) メソッドと substring(startIndex, endIndex) メソッドに類似していますが、2 番目の引数が返される文字数である点が異なります。
例
1String s = 'abcde';
2String s2 = s.mid(2, 3);
3System.assertEquals(
4 'cde', s2);normalizeSpace()
署名
public String normalizeSpace()
戻り値
型: String
使用方法
このメソッドは、空白文字 (スペース、タブ (\t)、改行 (\n)、行頭復帰 (\r)、およびフォームフィード (\f)) を正規化します。
例
1String s1 =
2 'Salesforce \t force.com';
3String s2 =
4 s1.normalizeSpace();
5System.assertEquals(
6 'Salesforce force.com', s2);offsetByCodePoints(index, codePointOffset)
署名
public Integer offsetByCodePoints(Integer index, Integer codePointOffset)
使用方法
index で指定されたテキスト範囲内でペアになっていないサロゲートは、codePointOffset でそれぞれ 1 つのコードポイントとして数えられます。
例
次の例では、開始インデックス 0 (最初の文字から開始) で 3 コードポイントをオフセットした位置から始まる文字列に対して offsetByCodePoints をコールします。文字列には、エスケープされた形式の補助文字のシーケンスが 1 つ (文字のペアが 1 組) 含まれます。文字列の先頭から数えて 3 コードポイントをオフセットした結果、返されるコードポイントインデックスは 4 です。
1String str = 'A \uD835\uDD0A BC';
2System.assertEquals(4, str.offsetByCodePoints(0,3));removeStartIgnoreCase(substring)
署名
public String removeStartIgnoreCase(String substring)
パラメーター
- substring
- 型: String
戻り値
型: String
例
1String s1 = 'Salesforce and force.com';
2String s2 =
3 s1.removeStartIgnoreCase('SALES');
4System.assertEquals(
5 'force and force.com', s2);replace(target, replacement)
署名
public String replace(String target, String replacement)
戻り値
型: String
例
1String s1 = 'abcdbca';
2String target = 'bc';
3String replacement = 'xy';
4String s2 = s1.replace(target, replacement);
5System.assertEquals('axydxya', s2);replaceAll(regExp, replacement)
署名
public String replaceAll(String regExp, String replacement)
戻り値
型: String
使用方法
正規表現についての詳細は、Java Pattern クラスを参照してください。
例
1String s1 = 'a b c 5 xyz';
2String regExp = '[a-zA-Z]';
3String replacement = '1';
4String s2 = s1.replaceAll(regExp, replacement);
5System.assertEquals('1 1 1 5 111', s2);replaceFirst(regExp, replacement)
署名
public String replaceFirst(String regExp, String replacement)
戻り値
型: String
使用方法
正規表現についての詳細は、Java Pattern クラスを参照してください。
例
1String s1 = 'a b c 11 xyz';
2String regExp = '[a-zA-Z]{2}';
3String replacement = '2';
4String s2 = s1.replaceFirst(regExp, replacement);
5System.assertEquals('a b c 11 2z', s2);rightPad(length, padStr)
署名
public String rightPad(Integer length, String padStr)
使用方法
length が現在の string サイズ以下の場合、string 全体が空白の埋め込みなしで返されます。
戻り値
型: String
例
1String s1 = 'abc';
2String s2 = 'xy';
3String s3 = s1.rightPad(7, s2);
4System.assertEquals('abcxyxy', s3);split(regExp)
署名
public String[] split(String regExp)
パラメーター
- regExp
- 型: String
戻り値
型: String[]
使用方法
正規表現についての詳細は、Java Pattern クラスを参照してください。
このサブ文字列は、文字列の中で発生した順序でリストに記述されます。regExp が string のどの部分にも一致しない場合、結果リストには元の文字列を含む要素が 1 つだけ含まれます。
例
次の例では、バックスラッシュを区切り文字として使用して、文字列を分割しています。
1public String splitPath(String filename) {
2 if (filename == null)
3 return null;
4 List<String> parts = filename.split('\\\\');
5 filename = parts[parts.size()-1];
6 return filename;
7}
8
9// For example, if the file path is e:\\processed\\PPDSF100111.csv
10// This method splits the path and returns the last part.
11// Returned filename is PPDSF100111.csvsplit(regExp, limit)
署名
public String[] split(String regExp, Integer limit)
戻り値
型: String[]
使用方法
例
- s.split(':', 2) は {'boo', 'and:moo'} を生成します。
- s.split(':', 5) は {'boo', 'and', 'moo'} を生成します。
- s.split(':', -2) は {'boo', 'and', 'moo'} を生成します。
- s.split('o', 5) は {'b', '', ':and:m', '', ''} を生成します。
- s.split('o', -2) は {'b', '', ':and:m', '', ''} を生成します。
- s.split('o', 0) は {'b', '', ':and:m'} を生成します。
splitByCharacterType()
署名
public List<String> splitByCharacterType()
使用方法
使用される文字の種別についての詳細は、java.lang.Character.getType(char) を参照してください。
例
1String s1 = 'Lightning.platform';
2List<String> ls =
3 s1.splitByCharacterType();
4System.debug(ls);
5// Writes this output:
6// (L, ightning, ., platform)splitByCharacterTypeCamelCase()
署名
public List<String> splitByCharacterTypeCamelCase()
使用方法
使用される文字の種別についての詳細は、java.lang.Character.getType(char) を参照してください。
例
1String s1 = 'Lightning.platform';
2List<String> ls =
3 s1.splitByCharacterTypeCamelCase();
4System.debug(ls);
5// Writes this output:
6// (Lightning, ., platform)stripHtmlTags()
署名
public String stripHtmlTags()
戻り値
型: String
使用方法
例
1String s1 = '<b>hello world</b>';
2String s2 = s1.stripHtmlTags();
3System.assertEquals(
4 'hello world', s2);swapCase()
署名
public String swapCase()
戻り値
型: String
使用方法
大文字およびタイトルの文字を小文字に変換し、小文字を大文字に変換します。
例
1String s1 = 'Force.com';
2String s2 = s1.swapCase();
3System.assertEquals('fORCE.COM', s2);toLowerCase()
署名
public String toLowerCase()
戻り値
型: String
例
1String s1 = 'ThIs iS hArD tO rEaD';
2System.assertEquals('this is hard to read',
3 s1.toLowerCase());toLowerCase(locale)
署名
public String toLowerCase(String locale)
パラメーター
- locale
- 型: String
戻り値
型: String
例
1// Example in Turkish
2// An uppercase dotted "i", \u0304, which is İ
3// Note this contains both a İ as well as a I
4String s1 = 'KIYMETLİ';
5String s1Lower = s1.toLowerCase('tr');
6// Dotless lowercase "i", \u0131, which is ı
7// Note this has both a i and ı
8String expected = 'kıymetli';
9System.assertEquals(expected, s1Lower);
10// Note if this was done in toLowerCase(‘en’), it would output ‘kiymetli’toUpperCase()
署名
public String toUpperCase()
戻り値
型: String
例
1String myString1 = 'abcd';
2String myString2 = 'ABCD';
3myString1 =
4 myString1.toUpperCase();
5Boolean result =
6 myString1.equals(myString2);
7System.assertEquals(result, true);toUpperCase(locale)
署名
public String toUpperCase(String locale)
パラメーター
- locale
- 型: String
戻り値
型: String
例
1// Example in Turkish
2// Dotless lowercase "i", \u0131, which is ı
3// Note this has both a i and ı
4String s1 = 'imkansız';
5String s1Upper = s1.toUpperCase('tr');
6// An uppercase dotted "i", \u0304, which is İ
7// Note this contains both a İ as well as a I
8String expected = 'İMKANSIZ';
9System.assertEquals(expected, s1Upper);trim()
署名
public String trim()
戻り値
型: String
使用方法
タブや改行文字など、先頭と末尾の ASCII 制御文字も削除されます。���の開始と終了にない空白文字と制御文字は削除されません。
例
1String s1 = ' Hello! ';
2String trimmed = s1.trim();
3system.assertEquals('Hello!', trimmed);uncapitalize()
署名
public String uncapitalize()
戻り値
型: String
例
1String s1 =
2 'Hello max';
3String s2 =
4 s1.uncapitalize();
5System.assertEquals(
6 'hello max',
7 s2);unescapeCsv()
署名
public String unescapeCsv()
戻り値
型: String
使用方法
文字列が二重引用符で囲まれていてカンマ、改行、または二重引用符が含まれる場合、二重引用符は削除されます。また、二重引用符でエスケープされた文字 (二重引用符のペア) は、エスケープが解除されて 1 つの二重引用符になります。
文字列が二重引用符で囲まれていない場合、または二重引用符で囲まれていてカンマ、改行、二重引用符が含まれない合、string が変更されずに返されます。
例
1String s1 =
2 '"Max1, ""Max2"""';
3String s2 =
4 s1.unescapeCsv();
5System.assertEquals(
6 'Max1, "Max2"',
7 s2);unescapeEcmaScript()
署名
public String unescapeEcmaScript()
戻り値
型: String
例
1String s1 =
2 '\"3.8\",\"3.9\"';
3String s2 =
4 s1.unescapeEcmaScript();
5System.assertEquals(
6 '"3.8","3.9"',
7 s2);unescapeHtml3()
署名
public String unescapeHtml3()
戻り値
型: String
例
1String s1 =
2 '"<Black&White>"';
3String s2 =
4 s1.unescapeHtml3();
5System.assertEquals(
6 '"<Black&White>"',
7 s2);unescapeHtml4()
署名
public String unescapeHtml4()
戻り値
型: String
使用方法
認識されない場合、エンティティは返された文字列でそのまま保持されます。
例
1String s1 =
2 '"<Black&White>"';
3String s2 =
4 s1.unescapeHtml4();
5System.assertEquals(
6 '"<Black&White>"',
7 s2);unescapeJava()
署名
public String unescapeJava()
例
1String s = 'Company: \\"Salesforce.com\\"';
2String unescapedStr = s.unescapeJava();
3System.assertEquals('Company: "Salesforce.com"', unescapedStr);unescapeUnicode()
署名
public String unescapeUnicode()
例
1String s = 'De onde voc\u00EA \u00E9?';
2String unescapedStr = s.unescapeUnicode();
3System.assertEquals('De onde você é?', unescapedStr);unescapeXml()
署名
public String unescapeXml()
戻り値
型: String
使用方法
5 つの基本 XML エンティティ (gt、lt、quot、amp、apos) のみをサポートします。DTD または外部エンティティはサポートしていません。
例
1String s1 =
2 '"<Black&White>"';
3String s2 =
4 s1.unescapeXml();
5System.assertEquals(
6 '"<Black&White>"',
7 s2);valueOf(datetimeToConvert)
署名
public static String valueOf(Datetime datetimeToConvert)
パラメーター
- datetimeToConvert
- 型: Datetime
戻り値
型: String
例
1DateTime dt = datetime.newInstance(1996, 6, 23);
2String sDateTime = String.valueOf(dt);
3System.assertEquals('1996-06-23 00:00:00', sDateTime);valueOf(toConvert)
署名
public static String valueOf(Object toConvert)
パラメーター
- toConvert
- 型: Object
戻り値
型: String
使用方法
引数が string でない場合、valueOf メソッドはその引数に対する toString メソッド (利用可能な場合)、または引数がユーザー定義型の場合は上書きされた toString メソッドをコールすることで、引数を string に変換します。それ以外の、toString メソッドが利用できない場合は引数の文字列表現を返します。
例
1List<Integer> ls =
2 new List<Integer>();
3ls.add(10);
4ls.add(20);
5String strList =
6 String.valueOf(ls);
7System.assertEquals(
8 '(10, 20)', strList);valueOfGmt(datetimeToConvert)
署名
public static String valueOfGmt(Datetime datetimeToConvert)
パラメーター
- datetimeToConvert
- 型: Datetime
戻り値
型: String
例
1// For a PST timezone:
2DateTime dt = datetime.newInstance(2001, 9, 14);
3String sDateTime = String.valueOfGmt(dt);
4System.assertEquals('2001-09-14 07:00:00', sDateTime);