首页 > 解决方案 > Scala 在 \n 上拆分

问题描述

我有一个包含以下内容的文本文件-

"\n\n\n\n\n\n\n\n\t\n\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\n\n\n\t\n\t\t\n\t\t\t\t
Hotline: +49 40-300 51 701\n\t\n\t\n\t
Languages\n\t\n\t\n\t\t\n\t\t\n\t\t
Travel plan \n\t\n\t\n\n\n\n\t\t\n\n\t\t\n\t\t\t\n\n\n\n\n\n\n\n\n\n\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\n\t\t\n\n\t\t\n\t\t\t\t
Book\t
Packages from € 59\n
\tAccommodation and arrival\n
\tMusical packages\n
\tMaritime packages\n\t
Hamburg for Families\n\t
Experience Hamburg & Culture\n\n\n\n\n\t
Hotels from € 24\n\t
Book online now!\n\t
Theme hotels\n\t
Hotels by location\n\t
Special Offers\n\t
Hotels from A-Z\n\t
Other accommodation\n\n\n\n\n\t
Tickets from € 8\n\tBook online now!\n\t
Musicals Hamburg\n\tHamburg maritime\n\t
Sightseeing tours & city walks\n\tMuseums & Exhibitions\n\tHamburg for Families\n\n\n\n\n\t
Hamburg CARD\n\tBook online now!\n\tAll benefits at a glance\n\tFrequently asked questions\n\n\n\n\n\t
Group trips\n\tBooking request\n\tHamburg Guides and theme walks\n\n\n\n\n\n\n\t\n\t\tOffer\n\n\t\t\n\n\t\t\n\n\t\t
Hamburg CARD\n\t\tFree travel by bus, rail and ferry (HVV) and up to 50% discount on more than 150 tourist...\n\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\t
from 10,50 EUR\n\t\t\t\n\t\t\n\n\t\n\n\n\n\n\n\n\tAttractions\tBest of Hamburg\n\t
Town Hall\n\tThe \"Michel\"\n\tSt. Pauli & Reeperbahn\n\t
Elbphilharmonie\n\tJungfernstieg\n\tMiniatur Wunderland\n\tTierpark Hagenbeck\n\t
All about the Alster\n\tBlankenese\n\n\n\n\n\tHamburg Maritime\n\t
Urbanshore Hamburg\n\tPort of Hamburg\n\tLandungsbrücken\n\tFish Market\n\tSpeicherstadt\n\tOn the Elbe\n\tHafenCity\n\tWillkomm-Höft\n\tÖvelgönne\n\n\n\n\n\tHistoric Hamburg\n\tThe Old Elbe Tunnel\n\t"

我想在 \n 上拆分它。我试过了

string.split("\n")
string.split('\n') 
string.split("""\n""") 
string.split("\\n")

这一切似乎都不起作用。我如何在scala中完成它?

标签: scala

解决方案


按 \n 拆分,然后 \t,展平,然后删除空字符串。

var lines = Source.fromFile("/Users/rasika/Documents/example.txt").getLines.mkString

val result = lines.split("\\\\n").flatMap(_.split("\\\\t")).filter(_.nonEmpty).toList

结果

热线:+49 40-300 51 701
语言
旅行计划
预订
套餐 59 欧元起
住宿和抵达
音乐套餐
海事套餐
汉堡家庭
体验 汉堡和文化
酒店 24 欧元起
立即在线预订!
主题酒店
按地点划分的酒店
特别优惠
亚利桑那州的酒店
其他住宿
门票 8 欧元起
现在在线预订!
音乐剧 汉堡
汉堡海上
观光旅游和城市漫步
博物馆和展览
汉堡为家庭
汉堡卡
现在在线预订!
所有福利一目了然
常见问题
团体旅行
预订请求
汉堡 导游和主题漫步
提供
汉堡卡
免费乘坐公共汽车、铁路和渡轮 (HVV),超过 150 名游客可享受高达 50% 的折扣...
从 10,50 欧元起
输出超过截止限制。


推荐阅读