

これは新しい CloudFormation テンプレートリファレンスガイドです。ブックマークとリンクを更新してください。CloudFormation の開始方法については、『[AWS CloudFormation ユーザーガイド](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)』を参照してください。

# `Fn::Split`
<a name="intrinsic-function-reference-split"></a>

文字列を文字列値のリストに分割し、結果の文字列のリストから要素を選択できるようにするには、`Fn::Split` 組み込み関数を使用します。`,` (カンマ) などの区切り記号で、分割の場所を指定します。文字列を分割したら、[`Fn::Select`](intrinsic-function-reference-select.md) 関数を使用して特定の要素を選択します。

たとえば、サブネット ID のカンマ区切りの文字列がスタックテンプレートにインポートされる場合は、各カンマで文字列を分割できます。サブネット ID のリストから、`Fn::Select` 組み込み関数を使用してリソースのサブネット ID を指定します。

## 宣言
<a name="w2aac24c62b7"></a>

### JSON
<a name="intrinsic-function-reference-split-syntax.json"></a>

```
{ "Fn::Split" : [ "delimiter", "source string" ] }
```

### YAML
<a name="intrinsic-function-reference-split-syntax.yaml"></a>

完全関数名の構文:

```
Fn::Split: [ delimiter, source string ]
```

短縮形の構文:

```
!Split [ delimiter, source string ]
```

## パラメータ
<a name="w2aac24c62b9"></a>

両方のパラメータを指定する必要があります。

区切り記号  
ソース文字列を分割する場所を決める文字列値。

ソース文字列  
分割する文字列値。

## 戻り値
<a name="w2aac24c62c11"></a>

文字列値のリスト。

## 例
<a name="w2aac24c62c13"></a>

次の例では、`Fn::Split` 関数の動作を示します。

### シンプルなリスト
<a name="w2aac24c62c13b5"></a>

次の例では、縦線 (`|`) ごとに文字列を分割します。 関数は を返します`["a", "b", "c"]`

#### JSON
<a name="intrinsic-function-reference-split-example.json"></a>

```
{ "Fn::Split" : [ "|" , "a|b|c" ] }
```

#### YAML
<a name="intrinsic-function-reference-split-example.yaml"></a>

```
!Split [ "|" , "a|b|c" ]
```

 

### 空の文字列値を使用したリスト
<a name="w2aac24c62c13b7"></a>

継続した区切り記号で文字列を分割する場合、返されるリストには空の文字列が含まれます。次の例では、2 つの連続した区切り記号と追加された区切り記号を持つ文字列がどのように分割されるかを示しています。 関数は を返します`["a", "", "c", ""]`

#### JSON
<a name="w2aac24c62c13b7b5"></a>

```
{ "Fn::Split" : [ "|" , "a||c|" ] }
```

#### YAML
<a name="w2aac24c62c13b7b7"></a>

```
!Split [ "|" , "a||c|" ]
```

 

### インポートされた出力値の分割
<a name="w2aac24c62c13b9"></a>

次の例では、インポートされた出力値を分割し、`Fn::Select` 関数で指定されるように、返されるサブネット ID のリストから 3 番目の要素を選択します。

#### JSON
<a name="w2aac24c62c13b9b5"></a>

```
{ "Fn::Select" : [ "2", { "Fn::Split": [",", {"Fn::ImportValue": "AccountSubnetIDs"}]}] }
```

#### YAML
<a name="w2aac24c62c13b9b7"></a>

```
!Select [2, !Split [",", !ImportValue AccountSubnetIDs]]
```

## サポートされている関数
<a name="w2aac24c62c15"></a>

`Fn::Split` 区切り記号には、関数を使用できません。文字列値を指定する必要があります。

`Fn::Split` の値リストには、以下の機能を使用できます。
+ `Fn::Base64`
+ `Fn::FindInMap`
+ `Fn::GetAtt`
+ `Fn::GetAZs`
+ `Fn::If`
+ `Fn::ImportValue`
+ `Fn::Join`
+ `Fn::Select`
+ `Fn::Sub`
+ `Ref`