

Il s’agit du nouveau *Guide de référence des modèles CloudFormation *. Veuillez mettre à jour vos favoris et vos liens. Pour obtenir de l'aide pour démarrer CloudFormation, consultez le [guide de AWS CloudFormation l'utilisateur](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html).

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

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

Pour fractionner une chaîne en liste de valeurs de chaînes afin de pouvoir sélectionner un élément dans la liste de chaîne obtenue, utilisez la fonction intrinsèque `Fn::Split`. Spécifiez l'emplacement des fractionnements avec un délimiteur, par exemple `,` (une virgule). Une fois que la chaîne a été fractionnée, utilisez la fonction [`Fn::Select`](intrinsic-function-reference-select.md) pour sélectionner un élément spécifique.

Par exemple, si une chaîne de sous-réseau séparée par des virgules IDs est importée dans votre modèle de pile, vous pouvez diviser la chaîne à chaque virgule. Dans la liste des sous-réseaux IDs, utilisez la fonction `Fn::Select` intrinsèque pour spécifier un ID de sous-réseau pour une ressource.

## Déclaration
<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>

Syntaxe pour le nom complet de la fonction :

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

Syntaxe pour la forme courte :

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

## Parameters
<a name="w2aac24c62b9"></a>

Vous devez spécifier les deux paramètres.

delimiter  
Valeur de chaîne qui détermine l'emplacement de division de la chaîne source.

chaîne source  
Valeur de la chaîne que vous souhaitez fractionner.

## Valeur renvoyée
<a name="w2aac24c62c11"></a>

Liste de valeurs d'une chaîne.

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

Les exemples suivants montrent le comportement de la fonction `Fn::Split`.

### Liste simple
<a name="w2aac24c62c13b5"></a>

L'exemple suivant fractionne une chaîne à chaque barre verticale (`|`). La fonction retourne `["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" ]
```

 

### Liste avec des valeurs de chaîne vides
<a name="w2aac24c62c13b7"></a>

Si vous fractionnez une chaîne avec des délimiteurs consécutifs, la liste obtenue comprend une chaîne vide. L'exemple suivant montre comment une chaîne avec deux délimiteurs consécutifs et un délimiteur ajouté est fractionnée. La fonction retourne `["a", "", "c", ""]`.

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

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

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

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

 

### Fractionner une valeur de sortie importée
<a name="w2aac24c62c13b9"></a>

L'exemple suivant divise une valeur de sortie importée, puis sélectionne le troisième élément dans la liste de sous-réseaux qui en résulte IDs, comme spécifié par la `Fn::Select` fonction.

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

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

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

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

## Fonctions prises en charge
<a name="w2aac24c62c15"></a>

Avec le délimiteur `Fn::Split`, vous ne pouvez pas utiliser toutes les fonctions. Vous devez spécifier une valeur de type chaîne.

Pour la liste de valeurs `Fn::Split`, vous pouvez utiliser les fonctions suivantes :
+ `Fn::Base64`
+ `Fn::FindInMap`
+ `Fn::GetAtt`
+ `Fn::GetAZs`
+ `Fn::If`
+ `Fn::ImportValue`
+ `Fn::Join`
+ `Fn::Select`
+ `Fn::Sub`
+ `Ref`