2016-06-06 19 views
-1

ich habe den folgenden Text als String:Wie kann ich " n" in Haskell aufteilen?

1. INTRODUCTION 
Cerebral venous sinus thrombosis (CVST) 

und ich brauche nur die zweite Zeile als String, so dass ich bin mit dem folgenden Code

let SecondLine = unwords(tail (splitOn "\n" seccion)) 

aber Zweitlinien sind leer. Jemand kann mir helfen?

+0

Die Codezeile kann nicht kompiliert werden. 'splitOn' ist vom Typ' Text -> Text -> [Text] 'und' unwords' sind vom Typ '[String] -> String'. Sie geben 'unwords' einen falschen Typ. Könnten Sie die gesamte Funktion kopieren? – Undreren

Antwort

8

Haben Sie versucht, lines zu verwenden?

let secondLine = (lines seccion) !! 1 in 
3

Die einfachste Lösung, um die erste Zeile zu dropping ist lines Verwendungen. Es hat die folgenden Signaturen:

lines :: String -> [String] -- Splits string over newline character 

Sie daher die zweite Zeile mit bekommen:

let secondLine = head . tail . lines $ seccion 
1

oder einfach

:

let secondLine = head (tail (lines seccion)) 

Alternativ können Sie Point-freie Art verwenden

let (header:second:rest) = lines seccion 
Verwandte Themen