String 在haskell中将字符串拆分为字符串

String 在haskell中将字符串拆分为字符串,string,list,haskell,split,String,List,Haskell,Split,如何在不使用Data.List.split函数的情况下将一个字符串拆分为另一个字符串? 更具体地说:把Abc变成['A','b','c']我想你的意思是如何把Abcinto变成[A,b,c]。这很简单,如果要拆分的字符串是s,那么这将实现以下功能: map (\x -> [x]) s 我想你指的是如何将Abcinto[A,b,c]转换成Abcinto[A,b,c]。这很简单,如果要拆分的字符串是s,那么这将实现以下功能: map (\x -> [x]) s 如果您希望字符串['A

如何在不使用Data.List.split函数的情况下将一个字符串拆分为另一个字符串?
更具体地说:把Abc变成['A','b','c']

我想你的意思是如何把Abcinto变成[A,b,c]。这很简单,如果要拆分的字符串是s,那么这将实现以下功能:

map (\x -> [x]) s

我想你指的是如何将Abcinto[A,b,c]转换成Abcinto[A,b,c]。这很简单,如果要拆分的字符串是s,那么这将实现以下功能:

map (\x -> [x]) s

如果您希望字符串['A'、'b'、'c']与表达式['A'、'b'、'c']完全相反,因为在Haskell中字符串类型是[Char]的同义词,因此表达式['A'、'b'、'c']与Abc完全相同,那么以下类似的操作将起作用:

'[': (intercalate "," $ map show "Abc") ++ "]"
函数interlate位于Data.List中,类型为

intercalate :: [a] -> [[a]] -> [a]

它将它的第一个参数散布在作为第二个参数给出的列表元素之间。

如果你想要字符串['A','b','c'],而不是表达式['A','b','c'],它与Abc完全相同,因为在Haskell中,字符串类型是[Char]的同义词,那么下面类似的东西可以工作:

'[': (intercalate "," $ map show "Abc") ++ "]"
函数interlate位于Data.List中,类型为

intercalate :: [a] -> [[a]] -> [a]

它将其第一个参数散布在作为第二个参数给出的列表元素之间。

激发ghci以查看您编写的表达式是否相同:

Prelude> ['A','b','c']
"Abc"

启动ghci以查看您编写的表达式是否相同:

Prelude> ['A','b','c']
"Abc"

或者,OP的意思是将Abc转换为['A','b','c'],这可以通过\x->x来完成,或者如果你想自由点:id:-实际上我需要的正是示例中所写的内容Philip JF的意思:在Haskell中,字符串只是一个字符列表。因此,Abc与['A'、'b'、'c']完全相同。或者OP的意思是将Abc转换为['A'、'b'、'c'],这可以通过\x->x来完成,或者如果你想无点使用:id:-实际上我需要的正是示例中所写的内容Philip JF的意思:在Haskell字符串中,字符串只是一个字符列表。因此,Abc与['A','b','c']完全相同。