我试图用|分割文本串条形分隔符. 123.123.123.123 | 000.000.000.000到每个ip地址块.但每个数字都不是由|分裂.
@H_502_18@
Split方法接受
string或字符.如果你使用字符串,它将被解释为正则表达式和“|”被视为正则表达式’或’ – 在你的情况下它会回到’每个角色都进入它自己的垃圾箱’.逃避它有原始的分隔:
scala> "123.123.123.123|000.000.000.000".split("|") res30: Array[java.lang.String] = Array("",1,2,3,.,|,0) scala> "123.123.123.123".split("|") res33: Array[java.lang.String] = Array("",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]
谢谢.
"123.123.123.123|000.000.000.000".split("\\|") res1: Array[String] = Array(123.123.123.123,000.000.000.000)
字符分隔符按原样解释,因此您可以毫不费力地获得所需的结果