首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >字符串替换函数中出现球拍错误?

字符串替换函数中出现球拍错误?
EN

Stack Overflow用户
提问于 2016-10-19 06:54:46
回答 1查看 1.1K关注 0票数 1

我正在编写一个string-replace函数,它使用一个字符串、一个目标字符和一个替换字符。该函数生成一个新字符串,该字符串与使用的字符串相同,所有出现的目标字符(如果有)都替换为替换字符。例如,(string-replace "word" #\o #\y) ⇒ "wyrd"

注意:除了string->listlist->string之外,我不能使用任何内置的字符串函数

我的代码看起来像这样

代码语言:javascript
复制
  (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))))

有人能在这段代码中帮助我让它工作吗?

EN

回答 1

Stack Overflow用户

发布于 2016-10-19 23:28:59

还可以使用'for/list'创建修改后的列表(从输入字符串转换为列表)。然后可以将修改后的列表转换为修改后的字符串:

代码语言:javascript
复制
(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"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40119385

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档