# tf.strings.split

<br />

|---|---|
| [![](https://www.tensorflow.org/images/tf_logo_32px.png) TensorFlow 2 version](https://www.tensorflow.org/api_docs/python/tf/strings/split) | [![](https://www.tensorflow.org/images/GitHub-Mark-32px.png) View source on GitHub](https://github.com/tensorflow/tensorflow/blob/v1.15.0/tensorflow/python/ops/ragged/ragged_string_ops.py#L585-L646) |

Split elements of `input` based on `sep`.

#### View aliases


**Compat aliases for migration**

See
[Migration guide](https://www.tensorflow.org/guide/migrate) for
more details.

[`tf.compat.v1.strings.split`](https://www.tensorflow.org/api_docs/python/tf/compat/v1/strings/split)

<br />

    tf.strings.split(
        input=None, sep=None, maxsplit=-1, result_type='SparseTensor', source=None,
        name=None
    )

Let N be the size of `input` (typically N will be the batch size). Split each
element of `input` based on `sep` and return a `SparseTensor` or
`RaggedTensor` containing the split tokens. Empty tokens are ignored.

#### Examples:

    tf.strings.split(['hello world', 'a b c'])
    tf.SparseTensor(indices=[[0, 0], [0, 1], [1, 0], [1, 1], [1, 2]],
                    values=['hello', 'world', 'a', 'b', 'c']
                    dense_shape=[2, 3])

> > > tf.strings.split(\['hello world', 'a b c'\], result_type="RaggedTensor")

```python

```

If `sep` is given, consecutive delimiters are not grouped together and are
deemed to delimit empty strings. For example, `input` of `"1<>2<><>3"` and
`sep` of `"<>"` returns `["1", "2", "", "3"]`. If `sep` is None or an empty
string, consecutive whitespace are regarded as a single separator, and the
result will contain no empty strings at the start or end if the string has
leading or trailing whitespace.

Note that the above mentioned behavior matches python's str.split.

<br />

<br />

<br />

| ## Args ||
|---|---|
| `input` | A string `Tensor` of rank `N`, the strings to split. If `rank(input)` is not known statically, then it is assumed to be `1`. |
| `sep` | `0-D` string `Tensor`, the delimiter character. |
| `maxsplit` | An `int`. If `maxsplit > 0`, limit of the split of the result. |
| `result_type` | The tensor type for the result: one of `"RaggedTensor"` or `"SparseTensor"`. |
| `source` | alias for "input" argument. |
| `name` | A name for the operation (optional). |

<br />

<br />

<br />

<br />

| ## Raises ||
|---|---|
| `ValueError` | If sep is not a string. |

<br />

<br />

<br />

<br />

| ## Returns ||
|---|---|
| A `SparseTensor` or `RaggedTensor` of rank `N+1`, the strings split according to the delimiter. ||

<br />