This package exports some string processing functions. License: AGPL3 Copyright Pascal J. Bourguignon 2002 - 2015 This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see <http://www.gnu.org/licenses/>
character-designator |
type |
CHARACTER-DESIGNATOR is the type of character or designators of strings of length 1.
CHARACTER-DESIGNATOR-P
(concatenate-strings list-of-string-designators) |
function |
LIST-OF-STRING-DESIGNATORS: EACH element may be either a string-designator or a list of characters, or a list containing a string-designator or a list of character, and a start and end position denoting a substring. RETURN: A string containing the concatenation of the strings of the LIST-OF-STRINGS.
(deftranslation table text language translation &rest langs-trans) |
macro |
DO: Define a translation table. TABLE: A symbol naming a variable to be bound to the translation table (with defvar). TEXT: A string containing the localizable text. LANGUAGE: A keyword denoting a language. TRANSLATION: A translation of the TEXT in the LANGUAGE. LANGS-TRANS: Other couples language translation. EXAMPLE: (deftranslation *words* "car" :fr "automobile" :es "coche") (localize *words* :fr "car") --> "automobile" SEE ALSO: LOCALIZE
(explode object &optional result-type) |
generic-function |
RETURN: A sequence of character of type RESULT-TYPE containing the character of the OBJECT. RESULT-TYPE: A sequence type accepted by MAP (not NIL). Default: LIST. OBJECT: Can be a string, a symbol (its symbol-name is exploded), or a random object (its prin1 representation is exploded).
(explode-string character-designators &optional result-type) |
function |
RETURN: A new sequence of type RESULT-TYPE, containing the characters in the sequence CHARACTER-DESIGNATORS. RESULT-TYPE: A sequence type accepted by MAP. Default: LIST.
(implode char-seq &optional result-type package) |
function |
RETURN: An object of type RESULT-TYPE made with the character in the CHAR-SEQ sequence. Default: SYMBOL. RESULT-TYPE: SYMBOL (default), or STRING, or another type, in which case the object is obtained from reading from the string obtained from the implosion of the characters CHAR-SEQ. PACKAGE: When RESULT-TYPE is SYMBOL, then the package where the symbol is interned. Default: *PACKAGE*.
(implode-string character-designators) |
function |
RETURN: A new string containing the characters in the sequence CHARACTER-DESIGNATORS. NOTE: (implode-string cds) == (explode-string cds 'string)
(localize table language text) |
function |
RETURN: A version of the TEXT in the given LANGUAGE, or in english if LANGUAGE is not found, or TEXT itself if none found. SEE ALSO: DEFTRANSLATION
(mixed-case-p string-designator) |
function |
RETURN: Whether the string denoted by STRING-DESIGNATOR contains both upper case characters and lower case characters. If there are characters that are both-case-p, then mixed-case-p returns true.
(no-lower-case-p string-designator) |
function |
RETURN: Whether the string denoted by STRING-DESIGNATOR contains no lower case character.
(no-upper-case-p string-designator) |
function |
RETURN: Whether the string denoted by STRING-DESIGNATOR contains no upper case character.
(prefixp prefix sequence &key start end test) |
generic-function |
PREFIX: A sequence designator. STRING: A sequence designator. START: The start of the subsequence of SEQUENCE to consider. Default: 0. END: The end of the subsequence of SEQUENCE to consider. Default: NIL. TEST: A function to compare the elements of the SEQUENCE. RETURN: Whether PREFIX is a prefix of the (subseq SEQUENCE START END).
(split-escaped-string string-designator escape separator) |
function |
STRING-DESIGNATOR: A string designator. ESCAPE: A character designator. SEPARATOR: A character designator. DO: Split the STRING-DESIGNATOR on the SEPARATOR character. It may be escaped with the ESCAPE character, in which case it's not split. RETURN: A list of substrings of the string denoted by STRING-DESIGNATOR.
(split-name-value string) |
function |
RETURN: a cons with two substrings of string such as: (string= (concat (car res) "=" (cdr res)) string) and (length (car res)) is minimum.
(split-string string &optional separators remove-empty) |
function |
STRING: A sequence. SEPARATOR: A sequence. RETURN: A list of subsequence of STRING, split upon any element of SEPARATORS. Separators are compared to elements of the STRING with EQL. NOTE: It's actually a simple split-sequence now. EXAMPLES: (split-string '(1 2 0 3 4 5 0 6 7 8 0 9) '(0)) --> ((1 2) (3 4 5) (6 7 8) (9)) (split-string #(1 2 0 3 4 5 0 6 7 8 0 9) #(0)) --> (#(1 2) #(3 4 5) #(6 7 8) #(9)) (split-string "1 2 0 3 4 5 0 6 7 8" '(#space #0)) --> ("1" "2" "" "" "3" "4" "5" "" "" "6" "7" "8")
string-designator |
type |
STRING-DESIGNATOR is the type of string designators. (STRING-DESIGNATOR n) is the type of string designators of strings of length n. NOTE: characters are all designators of strings of length 1, therefore (STRING-DESIGNATOR n) with n/=1 doesn't designate a CHARACTER.
STRING-DESIGNATOR-P
(string-justify-left string &optional width left-margin separators) |
function |
RETURN: A left-justified string built from string. WIDTH: The maximum width of the generated lines. Default is 72 characters. LEFT-MARGIN: The left margin, filled with spaces. Default is 0 characters. SEPARATORS: A sequence containing the characters on which to split the words. Default: #(#space #newline).
(string-pad string length &key padchar justification) |
function |
PADCHAR: A character designator (string, symbol or chararcter). JUSTIFICATION: :LEFT, :CENTER, or :RIGHT where to place the string. DO: Append the PADCHAR before, after or at both end of string to pad it to length. RETURN: A padded string.
(string-replace string pattern replace &key test) |
function |
RETURN: A string build from STRING where all occurences of PATTERN are replaced by the REPLACE string. TEST: The function used to compare the elements of the PATTERN with the elements of the STRING.
(suffixp suffix string &key start end test) |
generic-function |
SUFFIX: A sequence designator. STRING: A sequence designator. START: The start of the subsequence of SEQUENCE to consider. Default: 0. END: The end of the subsequence of SEQUENCE to consider. Default: NIL. TEST: A function to compare the elements of the SEQUENCE. RETURN: Whether SUFFIX is a suffix of the (subseq SEQUENCE START END).
(unsplit-string string-list separator &key adjustable fill-pointer size-increment) |
function |
DO: The inverse than split-string. SEPARATOR: (OR STRINGP CHARACTERP) ADJUSTABLE: Create the string as an adjustable array. FILL-POINTER: Add a fill pointer to the string. SIZE-INCREMENT: Add it to the size needed for the result.