我有以下字符串:
"year string
temperature int
quality int"
我需要从每一行中提取第一个单词并用逗号分隔它(因此它应该是“年份,温度,质量”)。我如何在scala中执行此操作?我尝试使用正则表达式并拆分以创建一个字符串数组,但是当我尝试遍历数组时,eclipse正在咆哮。
答案 0 :(得分:7)
val s = """year string
temperature int
quality int"""
s.split("\n").map(_.split("\\s+")(0)).mkString(", ")
// res0: String = year, temperature, quality
这会在换行符上拆分字符串s
以获取行数组。然后,对于每一行,它在空白上拆分行,并获取结果数组的第一个元素,即第一个单词。最后,它通过在中间用逗号连接它们,从第一个单词数组中创建一个字符串。
只是说明这里涉及的步骤,这相当于上面的最后一行:
val lines = s.split("\n")
val firstWords = lines.map(_.split("\\s+")(0))
firstWords.mkString(", ")
答案 1 :(得分:0)
按第一个单词分割的方法,即split("\\W+",2)
,
myString.split("\n")
.map(_.split("\\W+",2).head)
.mkString(",")