我使用Racket的奇怪语言在开始和结尾处用两个字符串覆盖一个字符串。使用两个字符串开始和结束覆盖一个字符串的函数
(define overwrite (s beg end)...
例如,(overwrite "catapult" "dog" "blah")
应该输出"dogablah"
(overwrite "greenbeans" "munk" "grub")
应该输出"munknbgrub"
。
有时覆盖可以完全超过中心词: (overwrite "dog" "mouse" "flea")
应输出"mouseflea"
。
主要问题是我只允许使用三个内置函数来尝试解决这个问题。 (字符串长度),(子)和(字符串追加)
我已经尝试了以下无济于事:
(define (overwrite s beg end)
(string-append (substring s 0 (string-length beg)) ""
(substring s (- (string-length s) (string-length end))
(string-length s))))
我允许使用辅助功能等基本数学函数,但这是我以前从未做过的事情。太糟糕的方案/球拍没有一些易于使用的替换功能。 在此先感谢!这是非常具体的,因为我可以得到这个非常。
我会接受这是一个很好的答案但我们刚刚了解条件语句分配给出了,我们被告知,我们间没有”后允许用于这个特定的问题。 –