1. 程式人生 > >scala 字串操作 在報文中尋找指定字串

scala 字串操作 在報文中尋找指定字串

本人學習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