【问题标题】:How to get substring in scala?如何在scala中获取子字符串?
【发布时间】:2017-02-09 00:53:47
【问题描述】:

如何获取字符串的子字符串:

 "s3n://bucket/test/files/*/*"

我想单独获得 s3n://bucket/test/files。我尝试了拆分:

"s3n://bucket/test/files/*/*".split("/*/*") 但这给了我每个字符的字符串数组。

【问题讨论】:

    标签: string scala substring


    【解决方案1】:

    split 的参数是一个正则表达式,/*/* 匹配字符串中的所有字符。你需要转义*

    "s3n://bucket/test/files/*/*".split("/\\*/\\*")
    

    在这种情况下,split 的替代方案可能是:

    "s3n://bucket/test/files/*/*".stripSuffix("/*/*")
    

    【讨论】:

      【解决方案2】:

      几个不使用正则表达式的选项。

      使用takeWhile 会给出“s3n://bucket/test/files/”,其中包括最后一个斜杠。

      scala> s.takeWhile(_ != '*')
      res11: String = s3n://bucket/test/files/
      

      使用indexOf 查找第一个“*”并使用比您指定的输出少一个字符。

      scala> s.slice(0,s.indexOf("*") - 1)
      res14: String = s3n://bucket/test/files
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-10-14
        • 2011-10-04
        • 2013-02-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多