首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

大数据之脚踏实地学17--Scala字符串的清洗

字符串操作 字符串是最为常见的一种数据类型,在平时的学习或工作中总能碰见关于字符串的处理,例如字符串的拼接、替换、截取、判断、分割等。接下来对常用的字符串处理做详细讲解,并通过实际的例子加以说明。...字符串的创建可以使用两种方法,分别是: 双引号法 三对双引号法 我们知道,在Scala中利用单引号可以创建字符对象,而双引号则可以构造字符串对象。...在Scala中可以使用如下函数实现字符串的分割: split:可以指定具体的分割符,也可以指定一个模糊的正则表达式 splitAt:按照字符串的位置进行分割 举例 val S7 = "lsxxx2017...字符串的插值操作类似于Python中字符串的格式化处理,可以在字符串的内部引入变量值,甚至书写数学表达式或者对变量值做格式化输出。...Scala中有两种风格的插值方法,一种是s法,另一种是f法: s格式插值,可以书写变量表达式; f格式插值,除了拥有s法的功能,还可以格式化数据 举例 val name = "Liu" val height

2.4K10

Scala教程之:可扩展的scala

Scala是扩展的,Scala提供了一种独特的语言机制来实现这种功能: 隐式类:允许给已有的类型添加扩展方法 字符串插值:可以让用户使用自定义的插值器进行扩展 隐式类 隐式类是在scala 2.10中引入的...字符串插值 所谓字符串插值就是将变量引用直接插入处理过的字面字符中。这是在scala2.10.0版本引入的。...待处理字符串字面通过“号前的字符来标示(例如:上例中是s)。 Scala 提供了三种创新的字符串插值方法:s,f 和 raw. s 字符串插值器 在任何字符串前加上s,就可以直接在串中使用变量了。...插值器知道在这个字符串的这个地方应该插入这个name变量的值,以使输出字符串为Hello,James。使用s插值器,在这个字符串中可以使用任何在处理范围内的名字。 字符串插值器也可以处理任意的表达式。...自定义插值器 在Scala中,所有处理过的字符串字面值都进行了简单编码转换。

1.2K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    3小时Scala入门

    4,变量 Scala支持两种类型的变量,即常量val和变量var。 常量在程序中不可以被重新指向,变量可以被重新指向新的对象。 声明变量时可以指定类型,也可以由解释器根据初始值自动推断。 ?...(7)->用来指定映射Map中的键值关系。 (8)指定for表达式的迭代器。 (9)下划线_在Scala中被用作占位符表示匿名函数参数或作为引入package的通配符。...九,集合 集合是一种不可变的类型,并且是无顺序的,适合查找某个元素是否在集合中。 ? ? 十,映射Map 映射和Python中的字典很像,但是Scala中的Map是一种不可变类型。...Scala有3中定义类的风格,java风格,简写风格,和case类风格。 简写风格可以在类声明的参数前加上val即表示为类的属性,省去属性的绑定。...简洁范例:强大的自动类型推断,隐含类型转换,匿名函数,case类,字符串插值器。

    1.6K30

    3小时Scala入门

    4,变量 Scala支持两种类型的变量,即常量val和变量var。 常量在程序中不可以被重新指向,变量可以被重新指向新的对象。 声明变量时可以指定类型,也可以由解释器根据初始值自动推断。 ?...(7)->用来指定映射Map中的键值关系。 (8)指定for表达式的迭代器。 (9)下划线_在Scala中被用作占位符表示匿名函数参数或作为引入package的通配符。...九,集合 集合是一种不可变的类型,并且是无顺序的,适合查找某个元素是否在集合中。 ? ? 十,映射Map 映射和Python中的字典很像,但是Scala中的Map是一种不可变类型。...Scala有3中定义类的风格,java风格,简写风格,和case类风格。 简写风格可以在类声明的参数前加上val即表示为类的属性,省去属性的绑定。...简洁范例:强大的自动类型推断,隐含类型转换,匿名函数,case类,字符串插值器。

    1.6K30

    3小时Scala入门

    4,变量 Scala支持两种类型的变量,即常量val和变量var。 常量在程序中不可以被重新指向,变量可以被重新指向新的对象。 声明变量时可以指定类型,也可以由解释器根据初始值自动推断。 ?...(7)->用来指定映射Map中的键值关系。 (8)指定for表达式的迭代器。 (9)下划线_在Scala中被用作占位符表示匿名函数参数或作为引入package的通配符。...九,集合 集合是一种不可变的类型,并且是无顺序的,适合查找某个元素是否在集合中。 ? ? 十,映射Map 映射和Python中的字典很像,但是Scala中的Map是一种不可变类型。...Scala有3中定义类的风格,java风格,简写风格,和case类风格。 简写风格可以在类声明的参数前加上val即表示为类的属性,省去属性的绑定。...简洁范例:强大的自动类型推断,隐含类型转换,匿名函数,case类,字符串插值器。

    3.5K20

    01.Scala:开发环境搭建、变量、判断、循环、函数、集合

    参考代码 scala> println(name + name.length) hadoop6 5.2 使用插值表达式 scala中,可以使用插值表达式来定义字符串,有效避免大量字符串的拼接。...而比较两个对象的引用值,使用eq 示例 有一个字符串"abc",再创建第二个字符串,值为:在第一个字符串后拼接一个空字符串。 然后使用比较这两个字符串是否相等、再查看它们的引用值是否相等。...是所有类的子类,那么它可以赋值为任何类型 问题 以下代码是否有问题?...它支持以下几种类型的参数: 默认参数 带名参数 变长参数 9.3.1 默认参数 在定义方法时可以给参数定义一个默认值。...() 9.3.2 带名参数 在调用方法时,可以指定参数的名称来进行调用。

    4.1K20

    Scala之旅-简介篇

    Scala是面向对象的 鉴于一切值都是对象,可以说Scala是一门纯面向对象的语言。对象的类型和行为是由类和特质来描述的。...Scala为定义匿名函数提供了轻量级的语法,支持高阶函数,允许函数嵌套及柯里化。Scala的样例类和内置支持的模式匹配代数模型在许多函数式编程语言中都被使用。...这些特性结合起来为安全可重用的编程抽象以及类型安全的扩展提供了强大的基础。 Scala是可扩展的 在实践中,特定领域应用的发展往往需要特定领域的语言扩展。...例如: 隐式类允许给已有的类型添加扩展方法。 字符串插值可以让用户使用自定义的插值器进行扩展。...Java的最新特性如函数接口(SAMs)、lambda表达式、注解及泛型类 在Scala中都有类似的实现。 另外有些Java中并没有的特性,如缺省参数值和带名字的参数等,也是尽可能地向Java靠拢。

    1K40

    带你快速掌握Scala操作———(1)

    退出解释器 在scala命令提示窗口中执行:quit,即可退出解释器 2、声明变量 语法格式 Java变量定义 int a = 0; 在scala中,可以使用val或者var来定义变量,语法格式如下:...val/var 变量标识:变量类型 = 初始值 其中  val定义的是不可重新赋值的变量  var定义的是可重新赋值的变量  scala中定义变量类型写在变量名后面  scala的语句最后不需要添加分号...示例 使用更简洁的语法定义一个变量保存一个人的名字"tom" 参考代码 scala> val name = "tom" name: String = tom scala可以自动根据变量的值来自动推断变量的类型...+ name.length) hadoop6 使用插值表达式 插值表达式可以有效避免大量字符串的拼接。...语法 val/var 变量名 = s"${变量/表达式}字符串" 在定义字符串之前添加s 在字符串中,可以使用${}来引用变量或者编写表达式 示例 若干个变量,分别保存:“zhangsan”、30、“

    51740

    Scala第二章节

    Scala中的变量 3.1 概述 我们将来每一天编写scala程序都会定义变量, 那什么是变量, 它又是如何定义的呢? 变量, 指的就是在程序的执行过程中, 其值可以发生改变的量....定义格式如下: 3.2 语法格式 Java变量定义 int a = 0; 在scala中,可以使用val或者var来定义变量,语法格式如下: val/var 变量名:变量类型 = 初始值 其中 val定义的是不可重新赋值的变量...参考代码 scala> println(name + name.length) hadoop6 4.2 使用插值表达式 scala中,可以使用插值表达式来定义字符串,有效避免大量字符串的拼接。...语法 val/var 变量名 = s"${变量/表达式}字符串" 注意: 在定义字符串之前添加s 在字符串中,可以使用${}来引用变量或者编写表达式 示例 请定义若干个变量,分别保存:“zhangsan...Nothing是所有类的子类,那么它可以赋值为任何类型 6.4 思考题 以下代码是否有问题?

    54520

    Scala最基础入门教程

    ", 8) 4、字符串模板(插值字符串):通过$获取变量值 s"":标明当前是需要取值计算的字符串 $name:取变量name值,赋值到字符串中。...${age+1}:取变量age值,并进行计算+1. // 4、字符串模板(插值字符串):通过$获取变量值 val name = "linhai" val age = 8 val s1 = s"name...,则不能省略返回值类型,必须指定 如果方法明确声明unit,那么即使方法体中使用return关键字也不起作用 Scala如果期望是无返回值类型,可以省略等号(=号和方法体大括号不能同时省略) 如果方法无参...private为私有权限,只在类的内部和伴生对象中可用。 protected为受保护权限,Scala中受保护权限比Java中更严格,同类、子类可以访问,同包无法访问。...在Scala中,可以使用throws注解来声明异常。

    68370

    scala快速入门系列【字符串】

    本篇作为scala快速入门系列的第四篇,为大家带来的是字符串相关内容。 ? scala提供多种定义字符串的方式,将来我们可以根据需要来选择最方便的定义方式。...使用双引号 使用插值表达式 使用三引号 使用双引号 语法 val/var 变量名 = “字符串” 示例: 有一个人的名字叫"hadoop",请打印他的名字以及名字的长度。...参考代码 scala> println(name + name.length) hadoop6 ---- 使用插值表达式 scala中,可以使用插值表达式来定义字符串,有效避免大量字符串的拼接。...TIP] 在定义字符串之前添加 s 在字符串中,可以使用 ${} 来引用变量或者编写表达式 示例 请定义若干个变量,分别保存:“zhangsan”、30、“male”,定义一个字符串,保存这些信息。...---- 本篇博客到这里就结束了,感兴趣的小伙伴们可以持续关注哟~下一篇将为大家带来数据类型与操作符的使用,敬请期待!

    39320

    Scala——多范式, 可伸缩, 类似Java的编程语言

    ,定义class时可以传参,但是参数一定要指定参数类型,给类传参就有默认的构造。...x) 返回指定类型参数的字符串表示形式 一 数组 数组相关方法总结 序号 方法 描述 1 def apply( x: T, xs: T* ): Array[T] 创建指定对象 T 的数组, T 的值可以是.../** * * match scala中的模式匹配 * 注意: * 1.Scala中的模式匹配关键字是Match * 2.Match模式匹配中不仅可以匹配值,还可以匹配类型...隐式转换作用就是:当调用方法时,不必手动传入方法中的隐式参数,Scala会自动在作用域范围内寻找隐式值自动传入。...参数类型 和 返回类型 的不同名称的隐式转换函数 * 3.隐式类 * 在类的前面加上关键字implicit, 必须定义在object和class中 * 隐式类中的所有属性方法都可以被调用

    3K20

    自定义scala 字符串插值

    前言 字符串插值是 scala 2.10.0 开始引入的一个新的概念,就是能够让用户在字符串中嵌入变量引用。 从而可以让用户用数据来构造字符串。.../core/string-interpolation.html 正文 下面我们来看看如何自定义一个字符串插值,比如,从一个字符串中找到所有的email地址, 虽然用字符串插值来实现这个功能可能是多此一举...我这里只是为了 举例如何自定义字符串插值。...new EmailHelper(new StringContext("测试", "测试")).emails(email) 字符串插值和scala macro结合起来还可以实现很多功能。...比如在编译时期判断字符串是否一个合法的email地址。 由于macro我还在学习中,等学习完了再写一篇博客。

    1.2K40

    Scala语言入门:初学者的基础语法指南

    包对象可以解决在包级别共享常量、类型别名、隐式转换等问题。在 Scala 中,可以使用 package 关键字定义一个包对象。包对象的文件名必须为 package.scala,并与包名一致。...val x = 1val y = 2println(x + y)使用字符串插值:可以使用字符串插值来格式化输出。...协变和逆变是用来指定泛型类型参数的子类型关系的方式,以确保类型安全性。协变协变(Covariance): 协变表示类型参数在子类型关系中具有相同的方向。...类型限界在 Scala 中,类型上界(Upper Bounds)和类型下界(Lower Bounds)是用于限制泛型类型参数的范围的概念。它们允许我们在泛型类或泛型函数中指定类型参数必须满足某种条件。...Scala 中,可以为函数参数指定默认值。

    36620

    Scala的基础概念

    ,scala会自己进行变量推导 前两种定义,在定义时表达式就会立即求值 lazy val 在REPL中,scala会给没有变量名的变量自动取值resN,可以直接引用已有的resN 注意: scala...String 新特性 - 字符串插值(interpolation) scala> val name=”Jack” name: String = Jack scala> s”my name is $name...” //使用字符串插值 res11: String = my name is Jack 代码块Block 代码块用于组织多个表达式:{exp1;exp2} 多个表达式在一行2时需要分号分割,代码块本事也是一个表达式...,函数跟普通变量一样使用,且具有函数的相关类型 函数的类型 在scala中,函数类型的格式为 A => B,表示一个:接受参数类型为A的、并返回类型B的函数 eg: Int => String...是把整型映射为字符串的函数类型 高阶函数 接受的参数为函数 def funcName( f: (Int, Int) => Int) = { f(4,4) } 参数:f 类型:Int => Int

    74330

    Play For Scala 开发指南 - 第3章 常用类介绍

    3.1 String 在Scala中,String更加方便好用: //原始字符串一对三引号"""括起来,可包含多行字符串,内容不需要转义 """Welcome here....= 'a') // "bcd" //字符串插值, 以s开头的字符串内部可以直接插入变量,方便字符串构造 val i = 100 s"i=${i}" // "i=100" Scala中没有受检异常(checked...3.2 Option Scala用Option类型表示一个值是否存在,用来避免Java的NullPointerException。它有两个子类:Some和None。...常用操作: val opt: Option[String] = Some("hello") //判断是否为None opt.isEmpty // false //如果为None,则返回默认值"default...第1行import语句导入了一个隐式的ExecutionContext,你可以把它理解成是一个线程池,Future类在需要时会自动使用其上的线程。在Scala中你不需要直接和线程打交道。

    84650

    带你快速掌握Scala操作———(2)

    而比较两个对象的引用值,使用eq 示例 有一个字符串"abc",再创建第二个字符串,值为:在第一个字符串后拼接一个空字符串。 然后使用比较这两个字符串是否相等、再查看它们的引用值是否相等。...0 result: Int = 1 与Java不一样的是,  在scala中,条件表达式也是有返回值的  在scala中,没有三元表达式,可以使用if表达式替代三元表达式 块表达式  scala...它支持以下几种类型的参数: • 默认参数 • 带名参数 • 变长参数 默认参数 在定义方法时可以给参数定义一个默认值。...参考代码 // x,y带有默认值为0 def add(x:Int = 0, y:Int = 0) = x + y add() 带名参数 在调用方法时,可以指定参数的名称来进行调用。...语法格式: def 方法名(参数名:参数类型*):返回值类型 = { 方法体 } 在参数类型后面加一个*号,表示参数可以是0个或者多个 参考代码 scala> def add(num:Int*)

    83420
    领券