我有以下字符串:
"year string
temperature int
quality int"
我需要从每一行中提取第一个单词并用逗号分隔它(所以它应该是“年份、温度、质量”)。我如何在scala中做到这一点?我尝试使用正则表达式和拆分来创建一个字符串数组,但是当我尝试迭代数组时,eclipse 向我咆哮。
我有以下字符串:
"year string
temperature int
quality int"
我需要从每一行中提取第一个单词并用逗号分隔它(所以它应该是“年份、温度、质量”)。我如何在scala中做到这一点?我尝试使用正则表达式和拆分来创建一个字符串数组,但是当我尝试迭代数组时,eclipse 向我咆哮。
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(", ")
split("\\W+",2)
一种按第一个词分割的方法,即
myString.split("\n")
.map(_.split("\\W+",2).head)
.mkString(",")