chickadee » srfi-13 » string-replace

(string-replace s1 s2 start1 end1 [start2 end2]) -> stringprocedure

Returns

(string-append (substring/shared S1 0 START1)
               (substring/shared S2 START2 END2)
               (substring/shared S1 END1 (string-length S1)))

That is, the segment of characters in S1 from START1 to END1 is replaced by the segment of characters in S2 from START2 to END2. If START1=END1, this simply splices the S2 characters into S1 at the specified index.

Examples:

(string-replace "The TCL programmer endured daily ridicule."
                "another miserable perl drone" 4 7 8 22 ) =>
    "The miserable perl programmer endured daily ridicule."
 
(string-replace "It's easy to code it up in Scheme." "lots of fun" 5 9) =>
    "It's lots of fun to code it up in Scheme."
 
(define (string-insert s i t) (string-replace s t i i))
 
(string-insert "It's easy to code it up in Scheme." 5 "really ") =>
    "It's really easy to code it up in Scheme."