- Documentation
- Reference manual
- SWI-Prolog extensions
- The string type and its double quoted syntax
- Predicates that operate on strings
- atom_string/2
 - number_string/2
 - term_string/2
 - term_string/3
 - string_chars/2
 - string_codes/2
 - text_to_string/2
 - string_length/2
 - string_code/3
 - get_string_code/3
 - string_concat/3
 - split_string/4
 - sub_string/5
 - atomics_to_string/2
 - atomics_to_string/3
 - string_upper/2
 - string_lower/2
 - read_string/3
 - read_string/5
 - open_string/2
 
 
 - Predicates that operate on strings
 
 - The string type and its double quoted syntax
 
 - SWI-Prolog extensions
 - Packages
 
 - Reference manual
 
Availability:built-in
% a simple split
?- split_string("a.b.c.d", ".", "", L).
L = ["a", "b", "c", "d"].
% Consider sequences of separators as a single one
?- split_string("/home//jan///nice/path", "/", "/", L).
L = ["home", "jan", "nice", "path"].
% split and remove white space
?- split_string("SWI-Prolog, 7.0", ",", " ", L).
L = ["SWI-Prolog", "7.0"].
% only remove leading and trailing white space
?- split_string("  SWI-Prolog  ", "", "\s\t\n", L).
L = ["SWI-Prolog"].
In the typical use cases, SepChars either does not overlap PadChars or is equivalent to handle multiple adjacent separators as a single (often white space). The behaviour with partially overlapping sets of padding and separators should be considered undefined. See also read_string/5.