我在写作
一个函数string-replace,它使用一个字符串,一个目标字符和一个
替换角色。该函数生成一个新的字符串,与该字符串相同
消耗的字符串,其中所有出现的目标字符(如果有)都替换为
替换角色。例如,(string-replace "word" #\o #\y) ⇒ "wyrd"
注意:
我不能使用除string->list
和list->string
我的代码看起来像
(define(list-replace input-list from-char to-char)
(string-replace input-list from-char to-char))
(define(string-replace input-string from-char to-char)
(list->string(string-replace(string->list input-string) from-char to-char)))
检查我输入
(string-replace "word" #\o #\y)
我收到错误string->list: expects a string, given (cons #\w (cons #\o (cons #\r (cons #\d empty))))
有人可以帮助我使用此代码吗?
答案 0 :(得分:0)
还可以使用'for/list'
创建修改后的列表(从输入字符串转换为列表)。然后可以将修改后的列表转换为修改后的字符串:
(define (string-replace input-string from-char to-char)
(list->string
(for/list ((item (string->list input-string)))
(if (equal? item from-char)
to-char
item))))
(string-replace "word" #\o #\y)
"wyrd"