(一)String 的定义
String 在 Scala 中是不可变的字符序列,这意味着一旦创建,其内容就不能被修改。
定义格式:
package string
object string01 {
/*
* 字符串:
* 格式1:双引号
* 格式2:三引号,支持换行。
*
* */
def main(args: Array[String]): Unit = {
val str1 = "静夜思 李白 4582155151155313211"
val str2 =
"""静夜思
| 李白
| 5151546154451541545x""".stripMargin
println(str1)
println(str2)
}
}
(二)String 的常用方法
1.索引访问*
可以使用索引来访问字符串中的字符,索引从 0 开始。例如:
val str = "Scala"
println(str(0)) // 输出:S
2. 长度获取*
使用length方法获取字符串长度。例如:
val str = "Scala is great"
println(str.length) // 输出:14
3. 子串提取
[案例:从身份证号中分析得到有效信息]。使用substring方法可以提取字符串的子串。
格式: subString(起点,终点-不包括)
例如:
val str = "429005200112130042"
println(str.substring(7)) // 获取身份证号中的生日
println(str.substring(0, 5)) // 根据身份证号中的倒数第二位,来判断学生的性别。
4.字符串转成数字*
背景知识:倒数第二位(第17位,下标为16)如果是偶数表示女,如果是奇数表示为男。
【引导分析思路】:从身份证号中取出第17位,判断奇偶,并输出对应的结果。
val str = "429005200112130042"
val gender = str.substring(16,17) // 根据身份证号中的倒数第二位,来判断性别
if(gender.toInt % 2==1) { println("性别为男")}
字符转成数字
charAt() 得到的是字符,如果对字符使用toInt,就会得到对于的ASCII码。
asDigit。正确的使用方式是用asDiget。
package string
/*
* 字符串:
* 常见操作
* 1.获取单个字符串
* 2.字符串的长度,空格也是有效的字符
* 3.字符串的截取,从当前字符串中截取一段出来 subString(起点下标,终点下标-不包含)
* */
object string02 {
def main(args: Array[String]): Unit = {
val str1 = "hello scala"
//字符串下标从0开始
println(str1(0))
println("字符串的长度是:" + str1.length)
//把ello这是个字符取出来
val str2 = str1.substring(1,5)
println(str2)
//把cal这三个字符取出来
val str3 = str1.substring(7,10)
println(str3)
// 把3截取出来
val str4 = "我的手机号第三位是31"
val str5 = str4.substring(10,11)
println(str4 + 10)//310
val n = str5.toInt
println(n + 1)
}
}