strings

This library provides string manipulation predicates with support for different string representations: atoms, character lists, or character code lists. Its API is partially based on work and libraries found in ECLiPSe and SWI-Prolog.

The predicates are defined in the string(_Representation_) parametric object where _Representation_ can be one of:

  • atom - strings are represented as atoms

  • chars - strings are represented as lists of characters

  • codes - strings are represented as lists of character codes

The parameter must be bound when sending messages to the object.

API documentation

Open the ../../apis/library_index.html#strings link in a web browser.

Loading

To load all entities in this library, load the loader.lgt file:

| ?- logtalk_load(strings(loader)).

Testing

To test this library predicates, load the tester.lgt file:

| ?- logtalk_load(strings(tester)).

Predicates

The library provides the following compatibility predicates:

  • atom_string/2 - converts between atoms and strings

  • number_string/2 - converts between numbers and strings

  • string_chars/2 - converts between strings and character lists

  • string_codes/2 - converts between strings and character code lists

  • string_concat/3 - concatenates two strings

  • string_length/2 - returns the length of a string

  • sub_string/5 - extracts substrings

  • string_upper/2 - converts a string to uppercase

  • string_lower/2 - converts a string to lowercase

  • split_string/4 - splits a string into substrings using separators and padding

  • atomics_to_string/2 - concatenates a list of atomic terms into a string

  • atomics_to_string/3 - concatenates a list of atomic terms into a string with separator

It also provides the following string trimming predicates:

  • trim/2-3 - trims leading and trailing characters from a string

  • trim_left/2-3 - trims leading characters from a string

  • trim_right/2-3 - trims trailing characters from a string

For converting between terms and strings, see the term_io library.