scala 字串操作 在報文中尋找指定字串
阿新 • • 發佈:2018-12-25
本人學習scala語言遇到的一些問題以及scala的一些巧妙用法
這篇文章主要是講的字串的操作
先看程式碼
val srcIp = """src=(\S+)""".r.findFirstMatchIn(message).flatMap { matcher => if(matcher.groupCount > 0) Some(matcher.group(1)) else None }.getOrElse("")
就上面的程式碼講解下:
1."""src=(\S+)"""
其中雙引號代表的用法:
多行字串用三個雙引號來表示分隔符,格式為:”“” … “”“;
2."""src=(\S+)""".r
r 的用法,將.r前的字串作為正則表示式,返回型別為Regex.
官方API:scala.collection.immutable.StringLike
3..findFirstMatchIn(message)
findFirstMatchIn 方法:Regex.findFirstMatchIn (str)以Regex為正則表示式在字串str中去匹配,返回 Option[Regex.Match]
官方API:scala.util.matching.Regex