summaryrefslogtreecommitdiff
path: root/Alpha/String.scm
diff options
context:
space:
mode:
Diffstat (limited to 'Alpha/String.scm')
-rw-r--r--Alpha/String.scm72
1 files changed, 0 insertions, 72 deletions
diff --git a/Alpha/String.scm b/Alpha/String.scm
deleted file mode 100644
index 6e29663..0000000
--- a/Alpha/String.scm
+++ /dev/null
@@ -1,72 +0,0 @@
-(define-module (Alpha String)
- #:export (replace replace-char to-string str capitalize split
- strip lstrip rstrip))
-
-(define (split s c)
- (if s
- (string-split s c)
- #f))
-
-(define (replace-char s match repl)
- (let ((f (lambda (a b)
- (let ((next-char (if (eq? a match) repl a)))
- (string-concatenate (list b (string next-char)))))))
- (string-fold f "" s)))
-
-(define (replace s match repl)
- (string-replace-substring s match repl))
-
-(define (to-string x)
- (format #f "~a" x))
-
-(define str
- (case-lambda
- (() "")
- ((x) (to-string x))
- ((x . rest) (string-concatenate (map str (cons x rest))))))
-
-(define (capitalize s)
- (let ((s (to-string s)))
- (if (< (string-length s) 2)
- (string-upcase s)
- (str (string-upcase (substring s 0 1))
- (substring s 1 )))))
-
-(define (strip s char)
- (string-trim-both s char))
-
-(define (lstrip s char)
- (string-trim s char))
-
-(define (rstrip s char)
- (string-trim-right s char ))
-
-
-;;; {String Fun: string-replace-substring}
-;;;
-
-;; string-replace-substring By A. Wingo in
-;; https://lists.gnu.org/archive/html/guile-devel/2014-03/msg00058.html
-;; also in string-replace-substring guix:guix/utils.scm.
-
-(define (string-replace-substring str substring replacement)
- "Return a new string where every instance of @var{substring} in string
- @var{str} has been replaced by @var{replacement}. For example:
-
- @lisp
- (string-replace-substring \"a ring of strings\" \"ring\" \"rut\")
- @result{} \"a rut of struts\"
- @end lisp
- "
- (let ((sublen (string-length substring)))
- (with-output-to-string
- (lambda ()
- (let lp ((start 0))
- (cond
- ((string-contains str substring start)
- => (lambda (end)
- (display (substring/shared str start end))
- (display replacement)
- (lp (+ end sublen))))
- (else
- (display (substring/shared str start)))))))))