View source on GitHub

Split elements of source based on delimiter. (deprecated arguments)

    source, sep=None, skip_empty=True, delimiter=None, result_type='SparseTensor',

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

If sep is an empty string, each element of the source is split into individual strings, each containing one byte. (This includes splitting multibyte sequences of UTF-8.) If delimiter contains multiple bytes, it is treated as a set of delimiters with each considered a potential split point.


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")


  • source: 1-D string Tensor, the strings to split.
  • sep: 0-D string Tensor, the delimiter character, the string should be length 0 or 1. Default is ' '.
  • skip_empty: A bool. If True, skip the empty strings from the result.
  • delimiter: deprecated alias for sep.
  • result_type: The tensor type for the result: one of "RaggedTensor" or "SparseTensor".
  • name: A name for the operation (optional).


  • ValueError: If delimiter is not a string.


A SparseTensor or RaggedTensor of rank 2, the strings split according to the delimiter. The first column of the indices corresponds to the row in source and the second column corresponds to the index of the split component in this row.