2015-02-12 51 views
2

連續發生使用Scala的標準String庫:斯卡拉分裂行爲:拆分模式

"a,,,".split(",")

Array(a),而不是

Array(a, "", "", "")

正如人們所期望的那樣。有什麼辦法可以強制這個嗎?

"a,,,b".split(",")

Array(a, "", "", "", b)這是罰款。

如果這是一個錯誤,我會感到驚訝,那麼是否有人瞭解這種行爲背後的聲稱的邏輯?

回答

7

split方法的documentation我們可以看到:因此

尾隨空字符串中不包括所得到的陣列英寸

但是,您可以使用split方法和其他limit參數。例如:

"a,,,".split("," ,-1) 

設置負數如limit參數將導致圖案將盡可能多的次數儘可能來施加。

查看here的詳情