1)findFirstMatchIn() 返回第一个匹配(Option[Match]) 语句:importscala.util.matching.Regex val numberPattern: Regex= "[0-9]".r numberPattern.findFirstMatchIn("awesomepassword") match {caseSome(_) => println("Password OK")//匹配成功caseNone => println("Password must contain a number")//未...
除了像Java中的switch匹配数据之外,match表达式还可以进行类型匹配。如果我们要根据不同的数据类型,来执行不同的逻辑,也可以使用match表达式来实现。 定义 示例 定义一个变量为Any类型,然后分别给其赋值为"hadoop"、1、1.0 定义模式匹配,然后分别打印类型的名称 参考代码 【Note】 如果case表达式中无需使用到匹配到的...
val ZipcodePattern ="([a-zA-Z])([0-9])([a-zA-Z]) ([0-9])".r"L3R 6"match{caseZipcodePattern(x,y,z,k) =>println(x+y+z+k)casex =>println("Invalid zip-code:"+x) } Scala正则表达式-2 Scala.util.matching.Regex findFirstMatchIn() 返回第一个匹配(Option[Match]) findAllMatch...
在Java中,有switch关键字,可以简化if条件判断语句。在scala中,可以使用match表达式替代。 语法结构: 变量match{ case"常量1" => 表达式1 case"常量2" => 表达式2 case"常量3" => 表达式3 case_ => 表达式4// 默认匹配 } 示例1: println("请输出一个词:") ...
match表达式是有返回值的,可以将match表达式对其他的变量进行赋值 2.2 守卫 在Java中,只能简单地添加多个case标签,例如:要匹配0-7,就需要写出来8个case语句。例如: int a = 0; switch(a) { case 0: a += 1; case 1: a += 1; case 2: a += 1; case 3: a += 1; case 4: a += 2; ...
scala中的case语法与java中的switch语法类似,但比switch更强大:例子一正则匹配: val Pattern="(s.*)".r val v1="spark"; val r=v1 match { case Pattern(v1)=> "begin s*"...
(1, 2, 2.7, "one", "two", 'four) } { val str = x match { case 1 => "int 1" case i: Int => "other int: "+i case d: Double => "a double: "+x case "one" => "string one" case s: String => "other string: "+s case unexpected => "unexpected value: " + ...
匹配表达式也就是match操作,类似C和Java中的“switch”语句,逐个匹配case表达式中的值,然后进行返回。模式校位目的是为匹配表达式增加条件逻辑,具体的做法是在case后面的匹配语句增加一个if表达式。9yield是如何工作的?Scala中的yield的主要作用是记住每次迭代中的有关值,并逐一存入到一个数组中。用法如下:for {子句}...
objectVariablePattern{defmain(args:Array[String]):Unit= {defpatternShow(x:Any)=xmatch{case5=>"five"//全部不是值为5的都会匹配变量y//比如"xxx"。则函数的返回结果就是"xxx"casey => y } println(patternShow("xxx")) } } 3 构造器模式 ...
Scala 提供了强大的模式匹配机制,应用也非常广泛。 一个模式匹配包含了一系列备选项,每个都开始于关键字 case。每个备选项都包含了一个模式及一到多个表达式。箭头符号 => 隔开了模式和表达式。 以下是一个简单的整型值模式匹配实例: Scala 正则表达式 Scala 通过 scala.util.matching 包中的 Regex 类来支持正则表...