2016-01-08 72 views
-1

鑑於本人看起來像這樣如何在scala中跳出波浪符號?

CS~84~Jimmys Bistro~Jimmys 
... 
使用波浪號(〜)作爲分隔符

一個文件,我怎麼能拆呢?

val company = dataset.map(k=>k.split(""\~"")).map(
k => Company(k(0).trim, k(1).toInt, k(2).trim, k(3).trim) 

以上不工作

回答

1

哼哼,我看不出它需要進行轉義。

scala> val str = """CS~84~Jimmys Bistro~Jimmys""" 
str: String = CS~84~Jimmys Bistro~Jimmys 

scala> str.split('~') 
res15: Array[String] = Array(CS, 84, Jimmys Bistro, Jimmys) 

而且,除非您知道錯誤的空格可以是輸入的一部分,否則不需要修剪數組元素。

+1

同意。雖然帶'〜'的char版本有點特別,但在這個超載中,輸入不是正則表達式。儘管如此,即使使用正常的引號「〜」也能按預期工作。 – Suma

+2

...如果你修剪,添加一個額外的步驟,而不是重複:'str.split('〜')。map(_。trim)' – Suma

+0

謝謝jwvh和Suma,工作。 Suma非常感謝修剪技巧。 –