scala中的正则表达式

39 阅读2分钟

(一)matchs方法

正则表达式对象有matches方法,它的作用是验证给定的字符串是否满足正则表达式的要求。它的格式如下:

val 结果 = 正则.matches(目标字符串)

其中的结果是一个bool值。

package Array

object array1 {


    // 匹配数组不同的元素的数量
    // 匹配数组特殊值
    // 匹配变量的类型
    // a:Int = 1;
    def matchType(value:Any):Unit = {
      value match {
        case x:Int => println(s"$x 是Int")
        case x:Double => println(s"$x 是Double")
        case _ => println("未知")
      }
    }
    def main(args: Array[String]): Unit = {
      matchType(1)
      matchType(1.1)

  }

}
package Array

object array1 {
  /**
   * match case 高阶匹配
   * 匹配数组不同的元素的数量
   * 匹配数组特殊值
   * 匹配变量的类型
   * 匹配样例类(属性值)
   *
   *
   */

//1.圆形类
    case class Circle(radius: Double) {
    }
  //2.矩形类
    case class Rectangle(width: Double, height: Double) {
    }
  //3.封装一个求面积的方法
    def getArea(shape: Any): Double = {
      shape match {
        case Circle(radius) => math.Pi * radius * radius
        case Rectangle(width, height) => width * height
        case _ => 0.0
      }
    }
    def main(args: Array[String]): Unit = {
   //1.实例圆形对象
      val circle = Circle(2.0)
      //2.实例化矩形对象
      val rectangle = Rectangle(2.0, 3.0)
      println(getArea(circle))
      println(getArea(rectangle))
    }



}
package Array

object array1 {
  val m1 =Map(
    "马云 - 阿里巴巴" ->1964,
    "张一鸣 - 字节跳动" -> 1983,
    "刘强东 - 京东" -> 1974,
    "程维 - 滴滴"-> 1983
  )
//请在m1这个Map,找出所有1983年出生的企业家
  for ((key,1983)<- m1){
    println(key)
  }
  for ((key,value)<- m1) {
    if(value ==1983)
    println(key)
  }
}
package Array

object array1 {
  def main(args: Array[String]): Unit = {
    //定义一个数组,其中有四个元素
    val arr =Array(11,22,33,4,5,6)
    //需求:补充定义三个变量:x,y,z 分别保持数组arr中第1,2,3个元素的值
    //var x = arr(0)
    //var y= arr(1)
    //var z = arr(2)
    //println("x="+ x +",y="+y +",z="+z)
//优化: 使用match case 表达式,完成上述需求
    val Array (x,y,z, _*)=arr
      println("x="+ x +",y="+y +",z="+z)

  }
}

OIP-C.webp

  • 完结撒花 !!!!!!!!!!
  • 制作不易 希望·一键三连 在此感谢关注的粉丝宝宝
  • 新来的宝宝可以关注下主播哟!!!!!