string - 无法使用 | 拆分字符串

标签 string scala

当我使用 , 拆分字符串时按预期工作:

  val line1 = "this,is,a,test"                    //> line1  : String = this,is,a,test
  val sLine = line1.split(",")  

但是如果我使用 |字符串被拆分为其字符元素并添加到数组:
val line1 = "this|is|a|test"                    //> line1  : String = this|is|a|test
val sLine = line1.split("|")                    //> sLine  : Array[String] = Array("", t, h, i, s, |, i, s, |, a, |, t, e, s, t)

为什么会发生这种情况?特点 ?

最佳答案

可能的解决方案

val sLine2 = line1.split('|')

因为 '表示一个字符,单个字符,split不将其视为正则表达式
val sLine2 = line1.split("\\|")

逃避特殊的交替|正则表达式字符。这就是它不起作用的原因。 split正在治疗 |作为零宽度正则表达式,因此字符串被蒸发为其组成字符

关于string - 无法使用 | 拆分字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23085722/

相关文章:

c - 找到字符串 t 在字符串 s 中最右边出现的位置

javascript - 在 JavaScript 中过滤 "whitespace-only"字符串

java - 如何构造正则表达式来平衡字符串中的字符?

scala - 我如何(最好)将Option转换为Try?

r - 在 R 中修剪长字符向量的更快方法

java - 我可以获得具有更大滑动窗口的 Char 迭代器吗? java/scala

scala - 函数可以接收参数数量不确定的元组吗?

scala - 如何在 Scala 中将 Map[Symbol, List[A]] 转换为 List[Map[Symbol,A]] ?

java - 如何将问题/答案对转移到 playframework 中的 View 类中?

linux - 使用 awk 删除多次出现的子字符串