gpt4 book ai didi

string - 如何在Haskell中将字符串的第一个字母大写并小写其余字母

转载 作者:行者123 更新时间:2023-12-02 02:30:24 27 4
gpt4 key购买 nike

我必须编写一个函数,将字符串的第一个字母大写,并将字符串的其余部分小写(该字符串包含随机的大写或小写字母)。

到目前为止,我已经设法做到了:

capitalised :: String->String
capitalised [] = []
capitalised x
| length x == 1 = map toUpper x
| otherwise = capitalised (init x): map toLower (last x)

和所有其他类型的奇怪功能,我仍然无法弄清楚。

请帮忙!提前发送!

忘了提,问题说明我需要编写一个递归解决方案!

最佳答案

请记住 String只是 [Char] 的类型同义词?在这里,我们利用它:

import qualified Data.Char as Char

capitalized :: String -> String
capitalized (head:tail) = Char.toUpper head : map Char.toLower tail
capitalized [] = []

这是一个递归版本:
capitalized :: String -> String
capitalized [] = []
capitalized (head:tail) = Char.toUpper head : lowered tail
where
lowered [] = []
lowered (head:tail) = Char.toLower head : lowered tail

关于string - 如何在Haskell中将字符串的第一个字母大写并小写其余字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20093312/

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