首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用HXT拆分一个单词

使用HXT拆分一个单词
EN

Stack Overflow用户
提问于 2014-04-05 22:37:40
回答 1查看 46关注 0票数 1

我想知道,我怎么能和HXT分开一个字?例如:

我有那个->

代码语言:javascript
复制
{-# LANGUAGE Arrows, NoMonomorphismRestriction #-}
import Text.XML.HXT.Core
import System.Environment  --para uso do getArgs

data Class = Class { name ::String }
    deriving (Show,Eq)

main = do
   [src]<- getArgs
   teams <- runX(readDocument [ withValidate no] src  >>> getClass)
   print teams

atTag tag = deep (isElem >>> hasName tag)
getClass = atTag "owl:Class" >>>
    proc l -> do
    className <- getAttrValue "rdf:about" -< l
    returnA -< Class { name = className }

我想把ClassName这个词分开!因为那个程序(团队)的结果,给了我一套超链接网站(http:// .)!(由于XML文件)有人能给我一些解决这个问题的提示吗?谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-06 00:30:55

您可以使用包splitOn的函数拆分

代码语言:javascript
复制
{-# LANGUAGE Arrows, NoMonomorphismRestriction #-}
import Text.XML.HXT.Core
import Data.List.Split (splitOn)

...

getClass = atTag "owl:Class" >>>
    proc l -> do
    className <- getAttrValue "rdf:about" -< l
    returnA -< Class { name = splitOn "#" className !! 1 }

在ghci中的例子:

代码语言:javascript
复制
> import Data.List.Split
> let className = "http://www.xfront.com/owl/ontologies/camera/#Window"
> splitOn "#" className !! 1
Loading package split-0.2.2 ... linking ... done.
"Window"

如果所有的URL中只有一个"#“,那么上面的代码就可以工作了。如果它们比较复杂,您可以查看包帕秒

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22887753

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档