23 String utilities
(require (planet untyped/unlib/string)) |
Useful string utilities. Compatible with PLT 4 languages.
(string+false? item) → boolean? |
item : any |
Returns #t if item is a string and #f otherwise.
(ensure-string item) → any |
item : any |
Converts bytes arguments to strings: passes all other arguments straight through.
(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." |
(number+false->string+false num) → (U string? #f) |
num : (U number? #f) |
A version of number->string that accepts and passes through #f.
(string+false->number+false str) → (U number? #f) |
str : (U string? #f) |
A version of string->number that accepts and passes through #f.
(string+false->symbol+false str) → (U symbol? #f) |
str : (U string? #f) |
A version of string->symbol that accepts and passes through #f.
(symbol+false->string+false sym) → (U string? #f) |
sym : (U symbol? #f) |
A version of symbol->string that accepts and passes through #f.