2017-05-10 62 views
0

我在斯卡拉我有一個列表我要到列表的一種形式轉換爲Scala.Any幫助列表中的另一種形式可以理解轉換列表的典型形式到列表中的另一種形式斯卡拉

初學者

輸入

List("TyCd->HKT", "TyCd->KA1", "TyCd->1IF", "TyCd->FVT", "TyCd->VDT", "TyCd->VSD", "TyCd->T1S", "TyCd->T9T") 

Excpect輸出

List("HKT", "KA1", "1IF", "FVT", "VDT", "VSD", "T1S", "T9T") 

回答

3

如果你只是想從每個元素移除"TyCd->",使用stripPrefix

list.map(_.stripPrefix("TyCd->")) 
+0

謝謝,@nmat! –

0
val x = List("TyCd->HKT", "TyCd->KA1", "TyCd->1IF", "TyCd->FVT", "TyCd->VDT", "TyCd->VSD", "TyCd->T1S", "TyCd->T9T") 

如果你不想硬編碼TyCd,則有可能其他的選擇來做到這一點。

scala> x.map(_.split("->")(1)) 
res2: List[String] = List(HKT, KA1, 1IF, FVT, VDT, VSD, T1S, T9T) 

scala> x.map(_.split("->").drop(1)) 
res3: List[Array[String]] = List(Array(HKT), Array(KA1), Array(1IF), Array(FVT), Array(VDT), Array(VSD), Array(T1S), Array(T9T)) 

scala> x.map(_.split("->").drop(1).head) 
res4: List[String] = List(HKT, KA1, 1IF, FVT, VDT, VSD, T1S, T9T) 

在我看來,這是最安全的方法

scala> x.map(_.split("->").drop(1).headOption).flatten 
res6: List[String] = List(HKT, KA1, 1IF, FVT, VDT, VSD, T1S, T9T) 

希望這有助於。

相關問題