length-string-number-part
Name
length-string-number-part -- Returns the numeric part of a length string
Synopsis
(length-string-number-part lenstr)
Description
Given a length as a string, return the numeric part.
Example
"100pt" returns "100". "30" returns "30".
"in" returns "".
Author
Norman Walsh, <ndw@nwalsh.com>
Source Code
(define (length-string-number-part lenstr)
;; Returns the numeric part of a length string
(let ((digits '(#\0 #\1 #\2 #\3 #\4 #\5 #\6 #\7 #\8 #\9 #\.)))
(let loop ((chars (string->list lenstr))
(number-part ""))
(if (or (null? chars) (not (member (car chars) digits)))
number-part
(loop (cdr chars) (string-append number-part
(string (car chars))))))))