26 String utilities
Useful string utilities. Compatible with PLT 4 languages.
(string+false? item) → boolean? |
item : any |
Returns #t if item is a string and #f otherwise.
(string-length/c max) → flat-contract? |
max : natural |
(string-length/c min max) → flat-contract? |
min : natural |
max : natural |
Creates a contract that recognises strings with a length within the specified inclusive bounds.
| ||||||||||||||||||||||||||||
items : (listof string?) | ||||||||||||||||||||||||||||
delimiter : string? | ||||||||||||||||||||||||||||
prefix : (U string? #f) = #f | ||||||||||||||||||||||||||||
suffix : (U string? #f) = #f |
Similar to string-join from SRFI 13, except that the optional #:prefix and #:suffix arguments can be provided to add a prefix or suffix string.
Examples: |
> (string-delimit '("1" "2" "3") ",") |
"1,2,3" |
> (string-delimit '("1" "2" "3") "," #:prefix "[") |
"[1,2,3" |
> (string-delimit '("1" "2" "3") "," #:suffix "]") |
"1,2,3]" |
> (string-delimit '("1" "2" "3") "," #:prefix "[" #:suffix "]") |
"[1,2,3]" |
> (string-delimit '("1" "2" "3") "," #:prefix #f #:suffix #f) |
"1,2,3" |
(string-ellipsify str [max-length ellipsis]) → string? |
str : string? |
max-length : natural? = 20 |
ellipsis : string? = "..." |
Returns a shortened version of str that is never longer than max-length. If necessary, str is truncated and ellipsis is appended.
Examples: | ||
| ||
"The quick brown f..." | ||
| ||
"The quick brown fox." |
Returns a copy of str with the first character upcased.
Examples: | ||
| ||
"Lowercase to capitalised" | ||
| ||
"Capitalised stays capitalised" | ||
| ||
"ALLCAPS stays ALLCAPSED" |
Like string-titlecase, in that the first character of each word is upcased, except that any upcase characters are left upcased.
Examples: | ||
| ||
"Lowercase To Titlecase" | ||
| ||
"InterCapsed Stays InterCapsed" | ||
| ||
"ALLCAPS Stays ALLCAPSED" |
A version of number->string that accepts and passes through #f.
A version of string->number that accepts and passes through #f.
A version of string->symbol that accepts and passes through #f.
A version of symbol->string that accepts and passes through #f.