# StringHandlingルーチン

[StringHandling]ルーチンには、Javaメソッドに基づいて英数字式に対して多種多様な操作とテストを実行できるファンクションが複数含まれています。

[Repository] (リポジトリー)ツリービューにあるシステムルーチンフォルダーの下の[StringHandling]ノードをダブルクリックすると、これらのファンクションにアクセスできます。

StringHandlingルーチンのファンクションStringHandlingStringHandlingルーチンのファンクション

| ファンクション | 説明 | 構文 |
| --- | --- | --- |
| ALPHA | 式がアルファベット順に配置されているかどうかを確認します。結果に応じてtrueまたはfalseのBoolean値を返します。 | StringHandling.ALPHA("string to be checked") |
| IS\_ALPHA | 式にアルファベット文字のみが含まれるか、そうでないかを確認します。結果に応じてtrueまたはfalseのBoolean値を返します。 | StringHandling.IS\_ALPHA("string to be checked") |
| CHANGE | 文字列のエレメントを定義済みの置換エレメントで置き換え、新しい文字列を返します。 | StringHandling.CHANGE("string to be checked", "string to be replaced","replacement string") |
| COUNT | 文字列内で部分文字列が出現した回数を返します。 | StringHandling.COUNT("string to be checked", "substring to be counted") |
| DOWNCASE | 式内のすべての大文字を小文字に変換し、新しい文字列を返します。 | StringHandling.DOWNCASE("string to be converted") |
| UPCASE | 式内のすべての小文字を大文字に変換し、新しい文字列を返します。 | StringHandling.UPCASE("string to be converted") |
| DQUOTE | 式を二重引用符で囲みます。 | StringHandling.DQUOTE("string to be enclosed in double quotation marks") |
| EREPLACE | 特定の古い文字列内の特定の正規表現にマッチするすべてのsubstringを特定の置換文字列に置き換え、新しい文字列を返します。 | StringHandling.EREPLACE(oldStr, regex, replacement) |
| INDEX | 文字列全体の中で指定されたsubstringの1文字目の位置を返します。指定された部分文字列が文字列全体の中に存在しない場合は、値-1を返します。 | StringHandling.INDEX("string to be checked", "substring specified") |
| LEFT | 文字列の最初のn文字に該当するsubstringを指定します。 | StringHandling.LEFT("string to be checked", number of characters) |
| RIGHT | 文字列の最後のn文字に該当するsubstringを指定します。 | StringHandling.RIGHT("string to be checked", number of characters) |
| LEN | 文字列の長さを計算します。 | StringHandling.LEN("string to check") |
| SPACE | 指定した数のスペースで構成された文字列を生成します。 | StringHandling.SPACE(number of blank spaces to be generated) |
| SQUOTE | 式を単一引用符で囲みます。 | StringHandling.SQUOTE("string to be enclosed in single quotation marks") |
| STR | 特定の文字を指定した回数分生成します。 | StringHandling.STR('character to be generated', number of times) |
| TRIM | 文字列の空白以外の1文字目の前および空白以外の最後の文字の後にあるスペースとタブを削除し、新しい文字列を返します。 | StringHandling.TRIM("string to be checked") |
| BTRIM | 文字列の空白以外の最後の文字の後にあるスペースとタブをすべて削除し、新しい文字列を返します。 | StringHandling.BTRIM("string to be checked") |
| FTRIM | 文字列の空白以外の1文字目の前にあるスペースとタブをすべて削除し、新しい文字列を返します。 | StringHandling.FTRIM("string to be checked") |
| SUBSTR | 文字列の一部を返します。文字列の先頭から、空白も含め、すべての文字をカウントします。 | StringHandling.SUBSTR(string, start, length)<br><br><ul> <li> <p> <span>[string] (文字列)</span>: 検索する文字列。</p> </li> <li> <p> <span>[start] (開始)</span>: カウントを開始する文字列の位置。</p> </li> <li> <p> <span>[length] (長さ)</span>: 返す文字数。</p> </li> </ul> |
| LTRIM | 文字列の先頭から文字列の空白または文字を削除します。 | StringHandling.LTRIM(string[, trim\_set])<br><br><ul> <li> <p> <span>[string] (文字列)</span>: 変更する文字列。</p> </li> <li> <p> <span>[trim_set]</span>: 文字列の先頭から削除する文字。<span>LTRIM</span>は、<span>trim_set</span>を文字列の左側から始めて1文字ずつ文字列と比較し、<span>trim_set</span>内にマッチング文字が見つからなくなるまで文字列を削除します。このパラメーターを指定しなかった場合、<span>LTRIM</span>は文字列の先頭から空白を削除します。</p> </li> </ul> |
| RTRIM | 文字列の末尾から文字列の空白または文字を削除します。 | StringHandling.RTRIM(string[, trim\_set])<br><br><ul> <li> <p> <span>[string] (文字列)</span>: 変更する文字列。</p> </li> <li> <p> <span>[trim_set]</span>: 文字列の末尾から削除する文字。<span>RTRIM</span>は、<span>trim_set</span>を文字列の右側から始めて1文字ずつ文字列と比較し、<span>trim_set</span>内にマッチング文字が見つからなくなるまで文字列を削除します。このパラメーターを指定しなかった場合、<span>RTRIM</span>は文字列の末尾から空白を削除します。</p> </li> </ul> |
| LPAD | 文字列の先頭に空白または文字を追加して、文字列を指定の長さに変換します。 | StringHandling.LPAD(first\_string, length[, second\_string])<br><br><ul> <li> <p> <span>[first_string]</span>: 変更する文字列。</p> </li> <li> <p> <span>[length] (長さ)</span>: 指定する増大後の文字列の長さ。</p> </li> <li> <p> <span>[second_string]</span>: <span>first_string</span>の左側に付加する文字。</p> </li> </ul> |
| RPAD | 文字列の末尾に空白または文字を追加して、文字列を指定の長さに変換します。 | StringHandling.RPAD(first\_string, length[, second\_string])<br><br><ul> <li> <p> <span>[first_string]</span>: 変更する文字列。</p> </li> <li> <p> <span>[length] (長さ)</span>: 指定する増大後の文字列の長さ。</p> </li> <li> <p> <span>[second_string]</span>: <span>first_string</span>の右側に付加する文字。</p> </li> </ul> |
| INSTR | 文字列内の文字セットの位置を返します。1から開始して左から右へカウントします。<br><br>カウントが失敗した場合は0を返し、カウント値がNullの場合はNULLを返します。 | StringHandling.INSTR(string, search\_value, start, occurrence)<br><br><ul> <li> <p> <span>[string] (文字列)</span>: 検索する文字列。</p> </li> <li> <p> <span>[search_value]</span>: 検索する文字セット。</p> </li> <li> <p> <span>[start] (開始)</span>: 検索を開始する文字列の位置。デフォルトは<span>1</span>です。これは、文字列の最初の文字から検索を開始することを意味します。</p> </li> <li> <p> <span>[occurrence] (出現)</span>: 検索する出現。</p> </li> </ul><br><br>上記のStringHandling.INSTR("Talend Technology", "e", 3, 2)場合、3番目の文字l から検索を開始し、2番目の文字eの位置である7を返します。 |
| INSTR | 1から開始して左から右へカウントし、文字列内のバイトセットの位置を返します。<br><br>カウントが失敗した場合は0を返し、カウント値がNullの場合はNULLを返します。 | StringHandling.INSTR(byte[] string, byte[] search\_value, start, occurrence)<br><br><ul> <li> <p> <span>[string] (文字列)</span>: 検索する文字列。</p> </li> <li> <p> <span>[search_value]</span>: 検索する文字セット。</p> </li> <li> <p> <span>[start] (開始)</span>: 検索を開始する文字列の位置。デフォルトは<span>1</span>です。これは、文字列の最初の文字から検索を開始することを意味します。</p> </li> <li> <p> <span>[occurrence] (出現)</span>: 検索する出現。</p> </li> </ul> |
| TO\_CHAR | 数値をテキスト文字列に変換します。 | StringHandling.TO\_CHAR(numeric\_value) |

## 文字列をアルファベット順に保存する

ALPHAルーチンをtJavaコンポーネントと共に使用して、文字列がアルファベット順であるかどうか簡単に確認できます。

```
System.out.println(StringHandling.ALPHA("abcdefg"));
```

確認結果としてBboolean値を返します。

![結果は、\[Run\] (実行)ビューで"true"となります。](https://help.qlik.com/talend/ja-JP/studio-user-guide/Resources/images/routines6-1.png)

## 文字列がアルファベットであるかどうか確認

IS\_ALPHAルーチンをtJavaコンポーネントと共に使用して、文字列がアルファベットであるかどうか簡単に確認できます。

```
System.out.println(StringHandling.IS_ALPHA("ab33cd"));
```

確認結果としてBboolean値を返します。

![結果は、\[Run\] (実行)ビューで"false"となります。](https://help.qlik.com/talend/ja-JP/studio-user-guide/Resources/images/Routines6_b.png)

## 文字列内のエレメントを置換

CHANGEルーチンをtJavaコンポーネントと共に使用して、文字列内のエレメントを別のエレメントで簡単に置換できます。

```
System.out.println(StringHandling.CHANGE("hello world!", "world", "guy"));
```

ルーチンは、古いエレメントを指定された新しいエレメントで置き換えます。

![結果は、\[Run\] (実行)ビューで"hello guy!"となります。](https://help.qlik.com/talend/ja-JP/studio-user-guide/Resources/images/routines6-2.png)

## 文字列内の特定の文字または部分文字列の位置を確認する

INDEXルーチンをtJavaコンポーネントと共に使用して、文字列に指定した文字または部分文字列が含まれるかどうかを簡単に確認できます。

```
System.out.println(StringHandling.INDEX("hello world!", "hello"));
                              System.out.println(StringHandling.INDEX("hello world!", "world")); 
                              System.out.println(StringHandling.INDEX("hello world!", "!")); 
                              System.out.println(StringHandling.INDEX("hello world", "?"));
```

ルーチンは、指定された1文字目の位置を示す整数を返すか、指定された部分文字列の実際の1文字目を返します。それ以外で出現が見つからなかった場合は、- 1が返されます。

![結果は、\[Run\] (実行)ビューで0、6、11、-1となります。](https://help.qlik.com/talend/ja-JP/studio-user-guide/Resources/images/Routines6_c.png)

## 文字列の長さを計算

LENルーチンをtJavaコンポーネントと共に使用して、文字列の長さを簡単に確認できます。

```
System.out.println(StringHandling.LEN("hello world!"));
```

確認結果としてスペースと空白文字を含むチェーンの長さを示す整数を返します。

![結果は、\[Run\] (実行)ビューで12となります。](https://help.qlik.com/talend/ja-JP/studio-user-guide/Resources/images/routines6-3.png)

## 空白文字の削除

FTRIMルーチンをtJavaコンポーネントと共に使用して、文字列の先頭から空白文字を削除できます。

```
System.out.println(StringHandling.FTRIM("  Hello world  !"));
```

ルーチンは、先頭から空白文字を削除した文字列を返します。

![結果は、\[Run\] (実行)ビューで"Hello world !"となります。](https://help.qlik.com/talend/ja-JP/studio-user-guide/Resources/images/Routines6_d.png)