- 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
- string_bytes/3
- 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 wherever there is a‘.':
?- 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 (trim the string):
?- 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.