Scala字符串学习笔记
在Scala中,字符串是由字符组成的不可变对象。本篇文章将介绍Scala中字符串的基本概念以及常见操作。
创建字符串
在Scala中,可以使用双引号或三引号来创建字符串。
双引号字符串
使用双引号创建的字符串是常规字符串,支持转义符和插值表达式。
例如:
scalaCopy Codeval str = "Hello, Scala!"
println(str) //输出: Hello, Scala!
三引号字符串
使用三引号创建的字符串支持多行文本和原始字符串。多行文本会保留文本中的换行符和缩进。原始字符串则不会对反斜杠进行转义。
例如:
scalaCopy Codeval multiLineStr =
"""Hello,
|Scala!
|"""
println(multiLineStr)
// 输出:
// Hello,
// Scala!
val rawStr = """\nHello,\nScala!"""
println(rawStr)
// 输出:
// \nHello,\nScala!
操作字符串
在Scala中,可以使用许多方法来操作字符串。下面是一些常用的方法。
拼接字符串
可以使用 +
或 concat
方法将两个字符串拼接在一起。
例如:
scalaCopy Codeval str1 = "Hello, "
val str2 = "Scala!"
val newStr = str1 + str2
// 或者 val newStr = str1.concat(str2)
println(newStr) //输出:Hello, Scala!
替换字符串
可以使用 replace
或 replaceAll
方法来替换字符串中的某些字符。
例如:
scalaCopy Codeval str = "Hello, World!"
val newStr = str.replace("World", "Scala")
// 或者 val newStr = str.replaceAll("World", "Scala")
println(newStr) //输出:Hello, Scala!
判断是否包含特定字符串
可以使用 contains
方法判断一个字符串是否包含特定的子串。
例如:
scalaCopy Codeval str = "Hello, Scala!"
val contains = str.contains("Scala")
println(contains) //输出:true
截取子串
可以使用 substring
方法截取字符串中的一个子串。
例如:
scalaCopy Codeval str = "Hello, Scala!"
val subStr = str.substring(7, 12)
println(subStr) //输出:Scala
实例
以下代码演示了如何使用 Scala 在字符串中应用上述操作:
scalaCopy Codeobject Main extends App {
val str1 = "Hello, "
val str2 = "Scala!"
val str3 = str1 + str2
println(str3)
val multiLineStr =
"""Hello,
|Scala!
|"""
println(multiLineStr)
val rawStr = """\nHello,\nScala!"""
println(rawStr)
val str4 = "Hello, World!"
val str5 = str4.replace("World", "Scala")
val str6 = str4.replaceAll("\\s", "")
println(str5)
println(str6)
val str7 = "Hello, Scala!"
val contains = str7.contains("Scala")
println(contains)
val subStr = str7.substring(7, 12)
println(subStr)
}
输出为:
Copy CodeHello, Scala!
Hello,
Scala!
\nHello,\nScala!
Hello, Scala!
Hello,World!
true
Scala
这些例子演示了如何创建字符串,使用多行文本和原始字符串,以及常见的字符串操作方法。