Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
5.4.1 - English

Change language to:
Français - 日本語 - Português - Русский

Please note that the recommended version of Scilab is 2024.1.0. This page might be outdated.
See the recommended documentation of this function

Scilab help >> Strings > strsplit


split a string into a vector of strings

Calling Sequence

v = strsplit(str,ind)
[v, matched_separators] = strsplit(str)
[v, matched_separators] = strsplit(str, matrix_of_strings, limit)
[v, matched_separators] = strsplit(str, regexp_pattern, limit)



a character string to split.


a vector of strictly increasing indices in the interval [1 length(str)-1].


the resulting column vector of string (dimension >size(ind,'*')+1).


a column vector of the matched separators.


a matrix of strings to search in str.


a regular expression pattern.


maximum of limit elements.


v= strsplit(str, ind) splits the string str into a vector of strings at the points given by the indices in ind (after each characters pointed to by the index in ind).

strsplit(str) returns same thing as strsplit(str,1:length(str)-1).

strsplit(str, regexp_pattern, limit) returns an column vector of strings, each of which is a substring of str formed by splitting it on boundaries formed by the case-sensitive regular expression pattern.

If there are n occurrences of pattern, the returned array will contain n+1 items.

For example, if there is no occurrence of pattern, an array with only one element will be returned. Of course, this is also true if str is empty.

If limit is set, the returned array will contain a maximum of limit elements with the last element containing the whole rest of string.

strsplit(str, matrix_of_strings, limit) splits str on any of elements. It allows to split on different separators for users without regexp knowledge.

If strsplit() is called with a second output argument, the column vector of the matched separators is returned.


S='strsplit splits a string into a vector of strings';
strsplit(S,[15 25 30])
ind=strindex(S,' ')
[r_1, r_2] = strsplit("abcd")
[r_1, r_2] = strsplit("root:x:0:0:root:/root:/bin/bash",":",5)
[r_1, r_2] = strsplit("abc,def:ijk,:lmo","/:|,/")
[r_1, r_2] = strsplit("abc,def:ijk,:lmo",[":";","])    

[r_1, r_2] = strsplit("abcdef2ghijkl3mnopqr6stuvw7xyz","/\d+/",2)

See Also

  • part — extraction of strings
  • strcat — concatenates character strings
  • tokens — returns the tokens of a character string
  • regexp — find a substring that matches the regular expression string
Report an issue
<< strrev Strings strspn >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Tue Apr 02 17:36:23 CEST 2013