我想分割文本分組與|
分隔符。 123.123.123.123|000.000.000.000
給每個ip地址塊。但是每個數字不會被|
分開。分隔字符串分隔符分裂成Scala中的每個字符
scala> "123.123.123.123|000.000.000.000".split("|")
res30: Array[java.lang.String] = Array("", 1, 2, 3, ., 1, 2, 3, ., 1, 2, 3, ., 1, 2, 3, |, 0, 0, 0, ., 0, 0, 0, ., 0, 0, 0, ., 0, 0, 0)
scala> "123.123.123.123".split("|")
res33: Array[java.lang.String] = Array("", 1, 2, 3, ., 1, 2, 3, ., 1, 2, 3, ., 1, 2, 3)
所以我把分隔符作爲Char
,它顯示了我的意圖。
scala> "123.123.123.123|000.000.000.000".split('|')
res31: Array[String] = Array(123.123.123.123, 000.000.000.000)
scala> "123.123.123.123".split('|')
res32: Array[String] = Array(123.123.123.123)
爲什麼單個字符會產生巨大的差異?
我讀過Scala doc和StringLike.scala,但沒有得到答案。
def split(separators: Array[Char]): Array[String]
def split(separator: Char): Array[String]
謝謝。
根據[documentation](http://www.scala-lang.org/api/current/index.html#scala.collection.immutable.StringOps),'split'將Char作爲參數。 – squiguy
@squiguy不僅char:它可以回到[java的split,它接受String](http://docs.oracle.com/javase/6/docs/api/java/lang/String.html#split(java。 lang.String))[regex] –
@ om-nom-nom當然,在這種情況下,'''是特殊的,這顯然就是你在答案中所說的。 – squiguy