Kotlin 字符串教程:深入理解与使用技巧

小万哥
• 阅读 495

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)

请注意,我们添加了一个空文本(" ")以在打印时在 firstNamelastName 之间创建一个空格。

您还可以使用 plus() 函数连接两个字符串:

示例

var firstName = "John "
var lastName = "Doe"
println(firstName.plus(lastName))

字符串模板/插值

除了连接,您还可以使用“字符串模板”,这是一种在字符串中添加变量和表达式的简单方法。

只需使用 $ 符号引用变量:

示例

var firstName = "John"
var lastName = "Doe"
println("My name is $firstName $lastName")

“字符串模板”是 Kotlin 的一个流行特性,因为它减少了代码量。例如,您不必像在连接示例中那样在 firstNamelastName 之间指定空格。

最后

为了方便其他设备和平台的小伙伴观看往期文章:

微信公众号搜索:Let us Coding,关注后即可获取最新文章推送

看完如果觉得有帮助,欢迎 点赞、收藏、关注

点赞
收藏
评论区
推荐文章
阿里最新面试必备项之Java的String类,持续更新中!
最新腾讯面试必备项之Java的String类,持续更新中!1.1String的特性String类:代表字符串。Java程序中的所有字符串字面值(如“abc”)都作为此类的实例实现。String是一个final类,代表不可变的字符序列。String字符串是常量,用双引号引起来表示。他们的值在创建之后不能更改。String对象的找字符内容是存储在一个
九路 九路
3年前
Go语言字符串和数值转换
一.字符串概述字符串是一段不可变的字符序列.内容是任意内容,可以是一段文字也可以是一串数字,但是字符串类型数字不能进行数学运算,必须转换成整型或浮点型字符串类型关键字:string创建字符串类型变量govarsstring"hello,world"s1:"hello,world"字符串类型的值使用双引号""扩上
Wesley13 Wesley13
2年前
Java学习:字符串概述与特点
字符串概述与特点java.lang.String类代表字符串API当中说:Java程序中的所有字符串字面值(如“abc“)都作为此类的实例实现。其实就是说:程序当中所用的双引号字符串,都是String类的对象。(就算没有new,也照样是。)字符串的特点1.字符串的内容永远不可改变。【重点】
Wesley13 Wesley13
2年前
Java基础之字符串
5.1字符字符指的用单引号括起来的单个字母。java中,char表示字符的数据类型。一个字符在内存中占16位大小的空间(2个字节)。5.2字符串字符串或串是由零个或多个字符组成的有限序列,它是编程语言表示文本的数据类型。串的两个最基本的存储方式是顺序存储方式和链接存储方式5.2.1字符串声明与赋值String是字符串变量的类型
Wesley13 Wesley13
2年前
10条PHP编程习惯助你找工作
http://blog.csdn.net/yihan1029/article/details/417664131、使用单引号括起来的字符串当使用双引号来括字符串时,PHP(https://www.oschina.net/p/php)解释器会对其进行变量替换、转义等操作,如“\\n”。如果只想输出一个基本的字符串,用单引号会节
小万哥 小万哥
2个月前
Kotlin 数据类型详解:数字、字符、布尔值与类型转换指南
Kotlin中变量类型由值决定,如Int、Double、Char、Boolean、String。通常可省略类型声明,但有时需指定。数字类型分整数(Byte,Short,Int,Long)和浮点(Float,Double),默认整数为Int,浮点为Double。布尔值是true或false,Char用单引号,字符串用双引号。数组和类型转换将在后续讨论,转换需用特定函数。
小万哥 小万哥
11个月前
Python 中的字符串基础与应用
在Python中,字符串可以用单引号或双引号括起来。'hello'与"hello"是相同的。您可以使用print()函数显示字符串文字:示例:Pythonprint("Hello")print('Hello')将字符串分配给变量是通过变量名后跟等号和字符串
小万哥 小万哥
5个月前
C++ 字符串完全指南:学习基础知识到掌握高级应用技巧
C字符串字符串用于存储文本。一个字符串变量包含由双引号括起来的一组字符:示例创建一个string类型的变量并为其赋值:cppstringgreeting"Hello";C字符串连接字符串连接可以使用运算符来实现,生成一个新的字符串。示例:cpps
小万哥 小万哥
3个月前
XML Schema 字符串数据类型及约束详解
XML中的字符串数据类型表示字符序列,包括换行、回车和制表符。处理器不修改值。normalizedString去除这些特殊字符,token则进一步移除前导和尾随空格及多余空格。字符串类型可使用枚举、长度等限制。date和dateTime数据类型表示日期和时间,duration表示时间间隔。数值类型如decimal和integer用于数值,布尔型表示真或假。还有如base64Binary和anyURI等其他数据类型。元素和数据类型可以有各种约束,如最大值、最小值和模式匹配。
小万哥 小万哥
2个月前
Kotlin 变量详解:声明、赋值与最佳实践指南
Kotlin变量简介Kotlin中使用var定义可变变量,val定义常量。类型可自动推断,如varname"John"(String)和valbirthyear1975(Int)。val一旦赋值不可变,var则可变。变量名遵循驼峰命名法,且不能为保留字。println()用于打印变量值。可使用连接字符串或执行数学运算。