Kotlin 字符串教程:深入理解与使用技巧
Kotlin 字符串
字符串用于存储文本。
字符串包含由双引号包围的字符集合:
示例
var greeting = "Hello"
与 Java
不同,您不必指定变量是字符串。Kotlin 足够智能,可以通过双引号理解上例中的 greeting
变量是字符串。
然而,与其他数据类型一样,如果您坚持,可以指定类型:
示例
var greeting: String = "Hello"
注意:如果您想创建一个字符串但不赋值(并稍后赋值),您必须在声明变量时指定类型:
示例
这样是可以的:
var name: String
name = "John"
println(name)
示例
这样会产生错误:
var name
name = "John"
println(name)
访问字符串
要访问字符串的字符(元素),必须在方括号内引用索引号。
字符串索引从 0
开始。在下面的示例中,我们访问 txt
中的第一个和第三个元素:
示例
var txt = "Hello World"
println(txt[0]) // 第一个元素 (H)
println(txt[2]) // 第三个元素 (l)
[0]
是第一个元素,[1]
是第二个元素,[2]
是第三个元素,等等。
字符串长度
Kotlin 中的字符串是对象,包含可以对字符串执行某些操作的属性和函数,通过在特定字符串变量后写一个点字符(.
)。例如,可以使用 length
属性找到字符串的长度:
示例
var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
println("txt 字符串的长度是: " + txt.length)
字符串函数
有许多可用的字符串函数,例如 toUpperCase()
和 toLowerCase()
:
示例
var txt = "Hello World"
println(txt.toUpperCase()) // 输出 "HELLO WORLD"
println(txt.toLowerCase()) // 输出 "hello world"
比较字符串
compareTo(string)
函数比较两个字符串,如果两者相等则返回 0
:
示例
var txt1 = "Hello World"
var txt2 = "Hello World"
println(txt1.compareTo(txt2)) // 输出 0 (它们相等)
查找字符串中的字符串
indexOf()
函数返回指定文本在字符串中首次出现的位置(包括空格):
示例
var txt = "Please locate where 'locate' occurs!"
println(txt.indexOf("locate")) // 输出 7
记住,Kotlin 从零开始计数。
0
是字符串中的第一个位置,1
是第二个,2
是第三个……
字符串中的引号
要在字符串中使用引号,使用单引号('
):
示例
var txt1 = "It's alright"
var txt2 = "That's great"
字符串连接
可以在字符串之间使用 +
运算符将它们添加在一起,形成一个新的字符串。这称为连接:
示例
var firstName = "John"
var lastName = "Doe"
println(firstName + " " + lastName)
请注意,我们添加了一个空文本(" "
)以在打印时在 firstName
和 lastName
之间创建一个空格。
您还可以使用 plus()
函数连接两个字符串:
示例
var firstName = "John "
var lastName = "Doe"
println(firstName.plus(lastName))
字符串模板/插值
除了连接,您还可以使用“字符串模板”,这是一种在字符串中添加变量和表达式的简单方法。
只需使用 $
符号引用变量:
示例
var firstName = "John"
var lastName = "Doe"
println("My name is $firstName $lastName")
“字符串模板”是 Kotlin 的一个流行特性,因为它减少了代码量。例如,您不必像在连接示例中那样在 firstName
和 lastName
之间指定空格。
最后
为了方便其他设备和平台的小伙伴观看往期文章:
微信公众号搜索:Let us Coding
,关注后即可获取最新文章推送
看完如果觉得有帮助,欢迎 点赞、收藏、关注
Kotlin 字符串教程:深入理解与使用技巧的更多相关文章
- Python复杂场景下字符串处理相关问题与解决技巧
1.如何拆分含有多种分隔符的字符串¶ ''' 实际案例: 我们要把某个字符串依据分隔符号拆分不同的字段,该字符串包含多种不同的分隔符,例如: s=’ab;cd|efg|hi,jkl|mn\topq ...
- Kotlin入门教程——目录索引
Kotlin是谷歌官方认可的Android开发语言,Android Studio从3.0版本开始就内置了Kotlin,所以未来在App开发中Kotlin取代Java是大势所趋,就像当初Android ...
- 对Java中字符串的进一步理解
字符串在程序开发中无处不在,也是用户交互所涉及到最频繁的数据类型,那么字符串不仅仅就是我们简单的理解的String str = "abc";一起来更加深入的看一下 在Java中,字 ...
- Windows 8实例教程系列 - 理解应用框架
原文:Windows 8实例教程系列 - 理解应用框架 Windows 操作系统之所以风靡世界,是因为其“易学易用”,从用户的角度出发,让数以万计的非IT人员使用计算机实现娱乐,工作等目的.Windo ...
- 字符串replace的理解和练习和配合正则表达式的使用
下面代码展示了(demo地址 https://codepen.io/peach_/pen/jONJjRY): 1.字符串replace的理解和练习和配合正则表达式的使用, 2.正则表达式学习 3.通过 ...
- Kotlin 入门教程
Kotlin 入门教程 Android / Java https://developer.android.com/kotlin?hl=zh-cn 使用 Kotlin 开发 Android 应用 使用 ...
- CTF必备技能丨Linux Pwn入门教程——调整栈帧的技巧
Linux Pwn入门教程系列分享如约而至,本套课程是作者依据i春秋Pwn入门课程中的技术分类,并结合近几年赛事中出现的题目和文章整理出一份相对完整的Linux Pwn教程. 教程仅针对i386/am ...
- kotlin字符串比较&空值处理&when表达式
字符串比较: 字符串的比较也是实际中比较常见的,下面来看下它的比较跟java中有啥不同,下面走起! 如我们所预期,其结果: 下面再来: 如果是java,结果肯定是为false,因为"==&q ...
- java字符串函数及理解
Java中的字符串也是一连串的字符.但是与许多其他的计算机语言将字符串作为字符数组处理不同,Java将字符串作为String类型对象来处理.将字符串作为内置的对象处理允许Java提供十分丰富的功能特性 ...
- 数值和字符串相互转换(C++ 数据类型转换技巧)
类型转换是将一种类型的值映射为另一种类型的值.进行数据类型的转换. 是在实际代码编写中经常遇到的问题,特别是字符串和其他类型的转换. 1.将字符串转换为整数 (1).转换函数// 双精度函数doubl ...
随机推荐
- 7.12考试总结(NOIP模拟12)[简单的区间·简单的玄学·简单的填数]
即使想放弃,也没法放弃最想要的东西,这就是人 前言 这次应该是和 SDFZ 一起打的第一场比赛吧. 然而我还是 FW 一个... 这次考试也有不少遗憾,主要的问题是码力不足,不敢去直面正解,思考程度不 ...
- Mysql 创建索引语句
mysql有哪些索引 index 普通索引 alter table table_name add index index_name(column) 最基本的索引,没有任何限制 primary key ...
- memoization(计算属性-记忆组件)
连续两次相同传参,第二次会直接返回上次的结果,每次传参不一样,就直接调用函数返回新的结果,会丢失之前的记录,并不是完全记忆,可以在它的参数中传入state数据从而实现了类似Vue中的计算属性功能 # ...
- django跨域设置
Django 跨域问题,解决前后端连接 CORS 1.安装 django-cors-headers pip install django-cors-headers 2.配置settings 在 INS ...
- Python 调整PDF页面尺寸大小
在处理PDF文件时,我们可能会遇到这样的情况:原始PDF文档不符合我们的阅读习惯,或者需要适配不同显示设备等.这时,我们就需要及时调整PDF文档中的页面尺寸,以满足不同应用场景的需求. 利用Pytho ...
- 使用Git命令从本地上传到码云
Gitee创建仓库内没有内容 本地: 初始化Git仓库:git init 提交文件到暂存区:git add . //. 表示提交所有文件 提交文件到工作区:git commit -m "此次 ...
- PhantomReference 和 WeakReference 究竟有何不同
本文基于 OpenJDK17 进行讨论,垃圾回收器为 ZGC. 提示: 为了方便大家索引,特将在上篇文章 <以 ZGC 为例,谈一谈 JVM 是如何实现 Reference 语义的> 中讨 ...
- 容器镜像安全:安全漏洞扫描神器Trivy
目录 一.系统环境 二.前言 三.Trivy简介 四.Trivy漏洞扫描原理 五.利用trivy检测容器镜像的安全性 六.总结 一.系统环境 本文主要基于Docker version 20.10.14 ...
- 开发工具-eclipse/idea 在运行前执行一些动作
毫无疑问,我们有的时候想在运行/编译程序前后执行一些动作.eclipse和idea都能支持. 日前正好遇到一个问题:有个依赖于pom的某个jar,内容虽然变了,但是版本不变,所以希望每次执行前先清除特 ...
- Java实现管线拓扑关系连通性分析
管线拓扑关系的连通性分析通常涉及图论(Graph Theory)中的概念,特别是无向图(Undirected Graph)的遍历算法,如深度优先搜索(DFS, Depth-First Search)或 ...