It is not obvious to replicate the parameter profile from find-in-list. The reason is that
the element type of strings is always char. Thus, a predicate will typically (but not necessarily)
check for equality relative to a given, fixed character. In that case find-in-string from
lib/general.scm is a reasonable solution. Here it is: Please be aware if you make a tail recursive function or not.;; Search linearly for the character ch in the string str.
;; An optional start postion start-post tells at which position to start the search (default is position 0).
;; Return the index of the first occurence of ch, or #f if it does not exist in str.
;; The index of the first character in a string is 0.
(define (find-in-string str ch . start-pos)
(let ((start-pos-1 (if (null? start-pos) 0 (car start-pos))))
(find-in-string-1 str ch start-pos-1 (string-length str))))
(define (find-in-string-1 str ch i lgt)
(cond ((>= i lgt) #f)
((eqv? ch (string-ref str i)) i)
(else (find-in-string-1 str ch (+ i 1) lgt))))