Returns #t if any target in replace-list occurs at pos in string.
The string in which replacement should be tested.
A list of target/replacement pairs. This list is just a list of strings, treated as pairs. For example, ("was" "x" "is" "y"). In this example, was may be replaced by x and is may be replaced by y.
The location within string where the test will occur.
(repl-substring-list? "this is it" ("was" "x" "is" "y") 2) returns #t: "is" could be replaced by "y".
(define (repl-substring-list? string replace-list pos)
;; Perform repl-substring? with a list of target/replacement pairs
(let loop ((list replace-list))
(let ((target (car list))
(repl (car (cdr list)))
(rest (cdr (cdr list))))
(if (repl-substring? string target pos)
#t
(if (null? rest)
#f
(loop rest))))))