string - 小写 Racket 中的整个字符串

标签 string scheme racket lowercase

有没有办法在 Racket 中将字符串中的所有字符都变成小写?

我能想到的唯一方法是将字符转为小写,但它不适用于字符串

我使用的是初学者语言,所以我无法使用某些功能

最佳答案

在实践中,你会使用 string-downcase 程序:

(string-downcase "ABCDE")
=> "abcde"

但是您正在使用初学者的语言工作,所以这里是解决它的一般想法 - 我会给您一些提示,如果您尝试自己解决问题会更好。首先,让我们将问题分为两部分:一个过程将字符串转换为字符列表,调用执行实际转换的辅助过程,最后将转换后的列表转换回字符串:
(define (lowercase str)
  (<???>           ; convert the list of chars into a string
   (convert        ; call the helper procedure
    (<???> str)))) ; convert the string into a list of chars
convert procedure 是一个助手,它完成繁重的工作并将字符列表中的每个字符转换为小写:
(define (convert strlst)
  (if <???>                  ; if the list of chars is empty
      <???>                  ; return the empty list
      (cons                  ; else `cons`
       (<???> <???>)         ; convert to lowercase the first char in list
       (convert <???>))))    ; advance recursion over list

解决方案的关键部分是操作程序stringscharacters ,单击链接并研究文档。

关于string - 小写 Racket 中的整个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15779906/

相关文章:

racket - 如何从 Windows 运行已编译的 Racket 程序

scheme - 如何使用 with-type 在非类型化模块中使用类型化 Racket 片段?

java - 如何从数组列表中的字符串中删除单词?

functional-programming - 无限斐波那契数列,只从列表中取 n,不使用突变?

java - java中简单的字符串连接操作

scheme - 检测是否从 Racket 中的命令行执行脚本?

lambda - 在Scheme中使用map和lambda计算点积

c - 在 Racket 中,我可以在调用另一个函数后导出函数吗?

javascript - 从字符串中删除前导零和尾随零

java - 编程寻找数字 n1 的最小排列,但应大于另一个给定数字 n2;如果不可能,则打印 "Invalid"