如何使用haskell从字符串中获取子字符串?
我有下一个文本:如何使用haskell从字符串中获取子字符串?,haskell,Haskell,我有下一个文本: blah blah blah with developmental venous anomaly (DVA) 作为一个[String][blah,blah,blah,with,发育性,静脉性,异常,(DVA)] 其中DVA是发育性静脉异常的首字母缩写。我知道这个首字母缩略词的长度是3,所以定义从前面的3个位置开始,到首字母缩略词,[发育、静脉、异常]结束。我正在尝试为此实现一个函数。我知道如何用java实现,但我是haskell的初学者,我做不到 应该是这样的: f:: [S
blah blah blah with developmental venous anomaly (DVA)
作为一个[String]
[blah,blah,blah,with,发育性,静脉性,异常,(DVA)]
其中DVA
是发育性静脉异常的首字母缩写。我知道这个首字母缩略词的长度是3,所以定义从前面的3个位置开始,到首字母缩略词,[发育、静脉、异常]
结束。我正在尝试为此实现一个函数。我知道如何用java实现,但我是haskell的初学者,我做不到
应该是这样的:
f:: [String]->String-> [String]
其中,我的输入是[blah,blah,blah,with,发育,静脉,异常,(DVA)]和(DVA)
我的输出:[发育,静脉,异常]
类似的东西
desc a = reverse $ take ((length h)-2) xs
where (h:xs) = reverse $ words a
> desc "blah blah blah with developmental venous anomaly (DVA)"
["developmental","venous","anomaly"]
我不知道你在问什么。您试图编写的函数的输入和期望的输出是什么?@ChrisMartin非常感谢您的评论,这个问题是用我的输入和输出编辑的,它是否也适用于输入,如“发育性静脉异常(DVA)布拉布拉布拉”,还是一句话中有多个(或零个)首字母缩略词?