

Este é o novo *Guia de referência de modelos do CloudFormation*. Atualize seus favoritos e links. Para obter ajuda para começar a usar o CloudFormation, consulte o [Guia do usuário do AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html).

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

Para dividir uma string em uma lista de valores de string, para que você possa selecionar um elemento na lista de strings resultante, use a função intrínseca `Fn::Split`. Especifique o local das divisões com um delimitador, como `,` (uma vírgula). Após dividir uma string, use a função [`Fn::Select`](intrinsic-function-reference-select.md) para escolher um elemento específico.

Por exemplo, se uma string de IDs de sub-rede delimitada por vírgulas for importada para seu modelo de pilha, você poderá dividir a string em cada vírgula. Na lista de IDs de sub-rede, use a função intrínseca `Fn::Select` para especificar um ID de sub-rede para um recurso.

## Declaração
<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>

Sintaxe para o nome da função completo:

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

Sintaxe para a forma resumida:

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

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

Você deve especificar os dois parâmetros.

delimitador  
Um valor de string que determina onde a string de origem será dividida.

string de origem  
O valor de string que você deseja dividir.

## Valor de retorno
<a name="w2aac24c62c11"></a>

Uma lista de valores de string.

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

Os exemplos a seguir demonstram o comportamento da função `Fn::Split`.

### Lista simples
<a name="w2aac24c62c13b5"></a>

O exemplo a seguir divide uma string em cada barra vertical (`|`). A função exibe `["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" ]
```

 

### Lista com valores de string vazios
<a name="w2aac24c62c13b7"></a>

Se você dividir uma string com delimitadores consecutivos, a lista resultante incluirá uma string vazia. O exemplo a seguir mostra como uma string com dois delimitadores consecutivos e um delimitador anexado é dividida. A função exibe `["a", "", "c", ""]`.

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

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

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

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

 

### Divisão de um valor de saída importado
<a name="w2aac24c62c13b9"></a>

O exemplo a seguir divide um valor de saída importado e seleciona o terceiro elemento na lista resultante de IDs de sub-rede, conforme especificado pela função `Fn::Select`.

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

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

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

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

## Funções compatíveis
<a name="w2aac24c62c15"></a>

No delimitador `Fn::Split`, não é possível usar nenhuma função. É necessário especificar um valor de string.

Para a lista de valores `Fn::Split`, use as seguintes funções:
+ `Fn::Base64`
+ `Fn::FindInMap`
+ `Fn::GetAtt`
+ `Fn::GetAZs`
+ `Fn::If`
+ `Fn::ImportValue`
+ `Fn::Join`
+ `Fn::Select`
+ `Fn::Sub`
+ `Ref`