scala学习五:字符串

一、字符串

Scala中的字符串类型实际上是Java String,它本身没有String
Scala中,string是不可变对象,不可修改。如果修改字符串,会产生新的字符串对象

1.1 Scala字符串

创建字符串实例

var greeting = 'Hello World'
var greeting:String = 'Hello World'

如果想创建一个可以修改的字符串,可以使用String Builder 类
+= 增加字符
++= 增加字符串

object NewTest {def main(args: Array[String]): Unit = {testString()}def testString() {val buf = new StringBuilderbuf ++= "hello"buf += '_'buf ++= "word"println(buf.getClass.getSimpleName)println("buf is : " + buf.toString);}
}
StringBuilder
buf is : hello_word

1.2 字符串长度length

  def stringLength() {var palindrome = "hello word"var len = palindrome.length()println("String Length is : " + len)}String Length is : 10

1.3 字符串连接concat

concat+都可以

    val stringA = "hello"val stringB = "word"val stringC = stringA + stringB

1.4 创建格式化字符串

String 类中可以使用 printf() 方法来格式化字符串并输出,String format() 方法可以返回 String 对象而不是 PrintStream 对象。

  def stringFormat(): Unit = {val floatVar = 12.456val intVar = 2000val stringVar = "scala入门"val fs = printf("浮点型变量为 %f, 整型变量为 %d, 字符串为 %s", floatVar, intVar, stringVar)val getChar0 = stringVar.charAt(0)val getChar1 = stringVar.charAt(1)val getChar = stringVar.charAt(5)println(fs)print(getChar0, getChar1, getChar)}浮点型变量为 12.456000, 整型变量为 2000, 字符串为 scala入门()

1.5 字符串的其他用法

更多的请参考 https://www.runoob.com/scala/scala-strings.html
返回指定位置的字符 str.charAt(int index), index从0开始

 def moreUse(): Unit = {val string1 = "helloWord"val string2 = "learnScala"val compare = string1.compareTo(string2)        //按字典顺序比较两个字符串val equal = string1.contentEquals(string2)      //两个字符串是否相等val endif = string1.endsWith("ls")              //是否以"ls"结尾val idx = string1.indexOf('l')                  // 'l'的第一个indexval idxs = string1.indexOf('l', 2)              // 从位置2开始,'l'的第一个indexval stringIdx = string1.indexOf("ll")           // 字符串'll'的indexval lastIdx = string2.lastIndexOf('a',6)        // string2 index 0到6组成的字符穿,从倒数开始第一个'a'对应的indexprintln(s"compare $compare, is equal $equal, string1 is end ls $endif")println(s"string1 index of l is $idx, index of l start from index 1 is $idxs, indexOf ll is $stringIdx")println(s"lastIdx of string2 from index0 to 7 is $lastIdx")}compare -4, is equal false, string1 is end ls false
string1 index of l is 2, index of l start from index 1 is 2, indexOf ll is 2
lastIdx of string2 from index0 to 7 is 2

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/233822.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

综合物业服务标书:打造舒适宜居的生活环境

综合物业服务标书,是指为了竞标或招投标而编写的综合物业服务方案书。综合物业服务标书是物业管理公司向业主委托方展示自身实力和服务水平的重要文件,也是获得物业管理合同的关键。 一、综合物业服务的定义 综合物业服务是指物业管理公司为业主提供的…

杰发科技AC7840——SPM电源管理之低功耗模式

0、SPM简介 很早以前就听过低功耗模式,一直没有怎么深入了解,最近遇到几个项目都是跟低功耗有关。正好AutoChips的芯片都有电源管理的功能,在此借用AC7840的SPM对低功耗进行测试。 1、AC7840的5种功耗模式 2、AC7840的模式转换 3、唤醒 在…

【华为数据之道学习笔记】5-11 算法模型设计

算法是指训练、学习模型的具体计算方法,也就是如何求解全局最优解,并使得这个过程高效且准确,其本质上是求数学问题的最优化解,即算法是利用样本数据生成模型的方法。算法模型是根据业务需求,运用数学方法对数据进行建…

小程序使用web-view无法打开该H5页面不支持打开的解决方法

我在正式上线版小程序使用 web-view 组件测试时提示:“无法打开该页面,不支持打开 https://xxxxxx,请在“小程序右上角更多->反馈与投诉”中和开发者反馈。” 奇怪的是,“真机调试”、“开发模式”都可以使用 web-view 组件访…

面试题总结(五)【线程的同步和互斥】【华清远见西安中心】

线程的同步实现方式有几种,区别是什么? 线程的同步可以使用多种方式来实现,常见的包括互斥量、条件变量、原子操作、信号量等。它们的区别主要体现在实现机制、适用场景和性能特点上。 1. 互斥量(Mutex):互…

易优建站修改文章模板中的地图大小

我是新建了一个栏目放置的百度地图 然后再这个栏目下创建地图 然后再页面中添加代码标签,显示地图,其实就是显示文章的内容 接下来就是修改地图的大小 第一步:打开文件public/plugins/Ueditor/dialogs/map/show.html 第二步:打开…

从西工大安全事件浅谈特权账号管理系统

去年9月,国家计算机病毒应急处理中心发布《西北工业大学遭美国NSA网络攻击事件调查报告(之一)》(以下简称“西工大事件报告”),以充分详实的证据揭示了美国NSA使用41种武器,先后使用了遍布17个国…

Wireshark在网络性能调优中的应用

第一章:Wireshark基础及捕获技巧 1.1 Wireshark基础知识回顾 1.2 高级捕获技巧:过滤器和捕获选项 1.3 Wireshark与其他抓包工具的比较 第二章:网络协议分析 2.1 网络协议分析:TCP、UDP、ICMP等 2.2 高级协议分析:HTTP…

长短期记忆(LSTM)神经网络-多输入回归预测

目录 一、程序及算法内容介绍: 基本内容: 亮点与优势: 二、实际运行效果: 三、部分程序: 四、完整代码数据下载: 一、程序及算法内容介绍: 基本内容: 本代码基于Matlab平台编…

数据可视化Seaborn

数据可视化Seaborn Seaborn简介Seaborn API第一个Seaborn应用Seaborn基本概念Seaborn图表类型Seaborn数据集Seaborn样式Seaborn调色板Seaborn分面网格Seaborn统计图表Seaborn散点图Seaborn折线图Seaborn柱状图Seaborn箱线图Seaborn核密度估计图Seaborn分类散点图Seaborn回归分…

AI降重工具

WEB版 体验一下 from docx import Document import requestsdef call_api_and_get_content(content, prompt):api_url "http://XXXXXXXX/api?content" content promptresponse requests.get(api_url)if response.status_code 200:api_result response.text.re…

el-select如何去掉placeholder属性

功能要求是&#xff1a;当el-select的disabled属性为true的时候不展示“请选择”字样 1、要去掉 el-select 元素的 placeholder 属性&#xff0c;可以在代码中将其设置为空字符串。 <el-select placeholder"" ...></el-select> 注意&#xff1a;这种方…

1_js基本简介数据类型变量的使用

1. 编程语言简介 1.1 计算机编程语言 计算机编程语言是程序设计的最重要的工具&#xff0c;它是指计算机能够接受和处理的、具有一定语法规则的语言。从计算机诞生&#xff0c;计算机语言经历了机器语言、汇编语言和高级语言几个阶段。 高级语言&#xff1a;JavaScript&#x…

el-select二次封装实现可分页加载数据

使用el-select时一次性渲染几百条数据时会造成页面克顿, 可以通过分页来实现, 这里我用的方式为默认获取全部数据, 然后一次性截取10条进行展示, 滚动条触底后会累加, 大家也可以优化为滚动条触底后发送请求去加载数据 创建自定义指令customizeFocus用户懒加载 在utils文件夹(…

游戏出海-选择云观测监控

相较于国内发展企业&#xff0c;出海企业能更加快速自身发展&#xff0c;但也相对的获取到的业务压力也远远高于国内。对于游戏出海企业&#xff0c;各地玩家带来的庞大数据&#xff0c;企业需要时时刻刻监控玩家数据波动、服务器运行、有无外挂篡改等等。九河云通过自身多年从…

使用Httpclient来替代客户端的jsonp跨域解决方案

最近接手一个项目&#xff0c;新项目需要调用老项目的接口&#xff0c;但是老项目和新项目不再同一个域名下&#xff0c;所以必须进行跨域调用了&#xff0c;但是老项目又不能进行任何修改&#xff0c;所以jsonp也无法解决了&#xff0c;于是想到了使用了Httpclient来进行服务端…

ZETA及纵行科技入选《2024年中国AIoT产业全景图谱》非蜂窝无线通信板块

12月15日&#xff0c;中国AIoT产业年会暨2023年智能产业前瞻洞察大典在深圳隆重举行&#xff0c;智次方研究院在本次大会上正式发布了全新升级版的《2024年中国AIoT产业全景图谱报告》。ZETA及ZETA联盟核心会员纵行科技、中国铁塔、中移物联、广芯微电子入选非蜂窝无线通信板块…

[MySQL] MySQL中的用户管理

文章目录 一、用户 1、1 用户信息 1、2 创建用户 1、3 删除用户 1、4 修改用户密码 二、数据库的权限 2、1 用户权限 2、2 回收权限 &#x1f64b;‍♂️ 作者&#xff1a;Ggggggtm &#x1f64b;‍♂️ &#x1f440; 专栏&#xff1a;MySQL &#x1f440; &#x1f4a5; 标题…

Mysql的多表连接

文章目录 表连接1. 表连接的分类2.内连接简介3.外连接简介(1)左连接和右连接 4.子查询简介(1)子查询是一种查询中嵌套查询的语句(2)子查询的分类 表连接 1. 表连接的分类 &#xff08;1&#xff09;表连接分为两种&#xff1a;内连接和外连接。 &#xff08;2&#xff09;内连…

SpringBoot+WebSocket

SpringBootWebSocket 1.导入依赖&#xff1a; -- Spring Boot 2.x 使用 javax.websocket-- Spring Boot 3.x 使用 jakarta.websocket<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId&g…