【问题标题】:Take string and extract first word and comma separate in scala?在scala中取字符串并提取第一个单词和逗号?
【发布时间】:2013-07-23 00:28:22
【问题描述】:

我有以下字符串:

"year   string  
temperature int
quality int" 

我需要从每一行中提取第一个单词并用逗号分隔它(所以它应该是“年份、温度、质量”)。我如何在scala中做到这一点?我尝试使用正则表达式和拆分来创建一个字符串数组,但是当我尝试迭代数组时,eclipse 向我咆哮。

【问题讨论】:

    标签: scala


    【解决方案1】:
    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(", ")
    

    【讨论】:

      【解决方案2】:

      一种按第一个词分割的方法,即split("\\W+",2)

      myString.split("\n")
              .map(_.split("\\W+",2).head)
              .mkString(",")
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-05-08
        • 1970-01-01
        • 2019-08-10
        • 1970-01-01
        • 2017-05-04
        相关资源
        最近更新 更多