文字列をリストへ分割
改行で区切るなら、
空白で区切るなら、
特定の文字列で区切るなら正規表現を使って、( Text.Regex )
splitRegex :: Regex -> String -> [String]
import Text.Regex main = do print $ lines "hoge\npiyo\nfuga" print $ words "hoge piyo fuga" print $ splitRegex (mkRegex ",") "hoge,piyo,fuga" print $ splitRegex (mkRegex "--") "hoge--piyo--fuga"
リストを文字列へ戻す
lines, words の接頭辞として `un’ をつける。
文字列でくっつけたい場合は、intercalate 。(cf. Haskell でリストの要素を join - List.Data の intersperse, intercalate)
import Data.List css = ["hoge","piyo","fuga"] main = do putStrLn $ unlines css putStrLn $ unwords css putStrLn $ intercalate "—" css
結果は、
hoge piyo fuga hoge piyo fuga hoge--piyo--fuga
単に文字列のリストをくっつけて、文字列にしたいだけなら concat 。文字列のリストは、文字のリストのリストであるため。
日本語
日本語を扱うときは、「Haskell で日本語表示 - utf8-string を利用して」 を参照。
0コメント:
コメントを投稿