On this page:
string+ false?
ensure-string
string-delimit
string-ellipsify
number+ false->string+ false
string+ false->number+ false
string+ false->symbol+ false
symbol+ false->string+ false
Version: 4.0.2.5

3 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-delimit

 

items

 

 

 

 

 

 

delimiter

 

 

 

 

 

 [

#:prefix prefix

 

 

 

 

 

 

#:suffix suffix])

 

 

string?

  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:

  > (string-ellipsify

     "The quick brown fox jumped over the lazy dog.")

  "The quick brown f..."

  > (string-ellipsify

     "The quick brown fox.")

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