对于 Char 数据类型,如何指定在 toLower 和 toUpper 函数中使用土耳其语 i 而不是英语 i?
最佳答案
text 和 text-icu 包
截至 2011 年,您最好的选择是使用 text包,以及 the Text ICU package 的 toLower
函数,它支持由语言环境参数化的 Char
操作,
来自this example :
import Data.Text (pack, unpack)
import Data.Text.ICU (LocaleName(Locale), toLower)
main = do
let trLocale = Locale "tr-TR"
upStr = "ÇIİĞÖŞÜ"
lowStr = unpack $ toLower trLocale $ pack upStr
putStrLn $ "toLower " ++ upStr ++ " gives " ++ lowStr
运行这个:
> toLower ÇIİĞÖŞÜ gives çıiğöşü
虽然此示例在 String
之间进行转换,但您也可以仅将数据保留为 text
格式。
关于text - Haskell、Char、Unicode 和土耳其语,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3412577/