24 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.