gpt4 book ai didi

string - LISP - 修改字符串

转载 作者:太空宇宙 更新时间:2023-11-03 18:59:24 26 4
gpt4 key购买 nike

我必须编写一个程序,将字符串的元音、辅音和其他符号分别更改为 C、V 0。我已经这样做了,但我想知道是否有更高效、更优雅的方法来做到这一点。将不胜感激。

(defun string-to-list (string)
(loop for char across string collect char))

(defun is-vowel (char) (find char "aeiou" :test #'char-equal))

(defun is-consonant (char) (find char "bcdfghjklmnpqrstvwxyz" :test #'char-equal))

(defun letter-type (char)
(if (is-vowel char) "V"
(if (is-consonant char) "C"
"0")))

(defun analyze-word (word-string)
(loop for char across word-string collect (letter-type char)))

另外,我想把它变成一个字符串,我该怎么做呢?我应该定义一个函数来遍历列表并将其变成一个字符串,还是更简单的方法?

最佳答案

(defun letter-type (char)
(cond ((find char "aeiou" :test #'char-equal) #\V)
((alpha-char-p char) #\C)
(t #\0)))

CL-USER> (map 'string #'letter-type "analyze-word")
"VCVCCCV0CVCC"

关于string - LISP - 修改字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15765143/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com