scala中的字符串-身份证中的秘密

32 阅读1分钟

(一) String 的定义

String 在 Scala 中是不可变的字符序列,这意味着一旦创建,其内容就不能被修改。

定义格式:

1.双引号: val str = "xxxx"

2.三引号。支持换行。

val str1 = "静夜思 李白 4290015655440023x"

val str2 =
  """ 静夜思
      李白
  """

(二) String 的常用方法

1.索引访问

可以使用索引来访问字符串中的字符,索引从 0 开始。例如:

val str1 = "hello scala"
 // 字符串(下标),下标从0开始
println(str1(0))
println("字符串的长度:" + str1.length)

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)如果是偶数表示女,如果是奇数表示为男。

val str = "429005200112130042"

val gender = str.substring(16,17) // 根据身份证号中的倒数第二位,来判断性别  
if(gender.toInt % 2==1) { println("性别为男")}