Function string-trim, string-left-trim, string-right-trim

Syntax:

string-trim character-bag string trimmed-string

string-left-trim character-bag string trimmed-string

string-right-trim character-bag string trimmed-string

Arguments and Values:

character-bag—a sequence containing characters.

string—a string designator.

trimmed-string—a string.

Description:

18.3.0 5string-trim returns a substring of string, with all characters in character-bag stripped off the beginning and end. string-left-trim is similar but strips characters off only the beginning; string-right-trim strips off only the end.

If no characters need to be trimmed from the string, then either string itself or a copy of it may be returned, at the discretion of the implementation.

Added for Barrett.All of these functions observe the fill pointer.

Implied by "string designator". \issue{STRING-COERCION:MAKE-CONSISTENT} The functions herein described perform coercion identical to the action of \funref{string}. \endissue{STRING-COERCION:MAKE-CONSISTENT}

Examples:

 (string-trim "abc" "abcaakaaakabcaaa") → "kaaak"
 (string-trim '(#\Space #\Tab #\Newline) " garbanzo beans
        ") → "garbanzo beans"
 (string-trim " (*)" " ( *three (silly) words* ) ")
→ "three (silly) words"

 (string-left-trim "abc" "labcabcabc") → "labcabcabc"
 (string-left-trim " (*)" " ( *three (silly) words* ) ")
→ "three (silly) words* ) "

 (string-right-trim " (*)" " ( *three (silly) words* ) ") 
→ " ( *three (silly) words"

Side Effects:

None.

Affected By:

The implementation.

Exceptional Situations:

None.

See Also:

None.

Notes:

None.