

Esta es la nueva *Guía de referencia de plantillas de CloudFormation*. Actualice sus marcadores y enlaces. Para obtener ayuda sobre cómo empezar a usar CloudFormation, consulte la [Guía del usuario de AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html).

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

Para dividir una cadena en una lista de valores de cadena, para poder seleccionar un elemento de la lista de cadenas resultante, utilice la función intrínseca `Fn::Split`. Especifique la ubicación de divisiones con un delimitador, como `,` (una coma). Después de dividir una cadena, utilice la función [`Fn::Select`](intrinsic-function-reference-select.md) para elegir un elemento específico.

Por ejemplo, si una cadena delimitada por comas de IDs de subred se importa a la plantilla de pila, puede dividir la cadena en cada coma. Desde la lista de IDs de subred, use la función intrínseca `Fn::Select` para especificar un ID de subred de un recurso.

## Declaración
<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>

Sintaxis del nombre de función completo:

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

Sintaxis de la forma abreviada:

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

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

Debe especificar ambos parámetros.

delimiter  
Un valor de cadena que determina dónde se divide la cadena de origen.

cadena de origen  
El valor de cadena que desee dividir.

## Valor devuelto
<a name="w2aac24c62c11"></a>

Una lista de los valores de cadena.

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

Los siguientes ejemplos muestran el comportamiento de la función `Fn::Split`.

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

El siguiente ejemplo divide una cadena en cada barra vertical (`|`). La función devuelve `["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 con valores de cadenas vacíos
<a name="w2aac24c62c13b7"></a>

Si divide una cadena con delimitadores consecutivos, la lista resultante incluirá una cadena vacía. El siguiente ejemplo muestra cómo se divide una cadena con dos delimitadores consecutivos y un delimitador agregado. La función devuelve `["a", "", "c", ""]`.

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

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

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

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

 

### Dividir un valor de salida importado
<a name="w2aac24c62c13b9"></a>

En el siguiente ejemplo se divide un valor de salida importada y, a continuación, selecciona el tercer elemento de la lista resultante de IDs de subred, tal y como especifica la función `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]]
```

## Funciones compatibles
<a name="w2aac24c62c15"></a>

Para el delimitador `Fn::Split`, no se puede usar ninguna función. Debe especificar un valor de cadena.

Para la lista de valores `Fn::Split`, se pueden usar las siguientes funciones:
+ `Fn::Base64`
+ `Fn::FindInMap`
+ `Fn::GetAtt`
+ `Fn::GetAZs`
+ `Fn::If`
+ `Fn::ImportValue`
+ `Fn::Join`
+ `Fn::Select`
+ `Fn::Sub`
+ `Ref`