- 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
- Skip all characters that match PadChars
 - Read up to a character that matches SepChars or end of file
 - Discard trailing characters that match PadChars from the collected input
 - Unify String with a string created from the input and Sep with the separator character read. If input was terminated by the end of the input, Sep is unified with -1.
 
The predicate read_string/5 called repeatedly on an input until Sep is -1 (end of file) is equivalent to reading the entire file into a string and calling split_string/4, provided that SepChars and PadChars are not partially overlapping.144Behaviour that is fully compatible would requite unlimited look-ahead. Below are some examples:
% Read a line read_string(Input, "\n", "\r", End, String) % Read a line, stripping leading and trailing white space read_string(Input, "\n", "\r\t ", End, String) % Read upto , or ), unifying End with 0', or 0') read_string(Input, ",)", "\t ", End, String)