如何使用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)布拉布拉布拉”,还是一句话中有多个(或零个)首字母缩略词?