1.理论
两种定义格式
(1)双引号
(2)三引号,支持换行
(1)获取指定下标上的字符
(2)获取字符串的长度。length属性,空格也是字符
(3)获取子串。只需要一个长字符串中的一部分
2.应用:从身份信息证件号中,解析出基本信息
实例:42900519840622 00 51
1.省份:42 湖北,43:湖南,11:北京。。。。
2.市区,乡镇9005
3.出生年份 1984
4.出生日期0622
5.顺序码00
6.倒数第二位 5,奇数表示性别:男, 偶数:女
7.最后一位,是校验码。验证这个身份证是瞎编的!!!!
package string
import java.time.LocalDate
/*
1.理论
两种定义格式(1)双引号 (2)三引号,支持换行
(1)获取指定下标上的字符
(2)获取字符串的长度。length属性,空格也是字符
(3)获取子串。只需要一个长字符串中的一部分
2.应用:从身份信息证件号中,解析出基本信息
实例:42900519840622 00 51
1.省份:42 湖北,43:湖南,11:北京。。。。
2.市区,乡镇9005
3.出生年份 1984
4.出生日期0622
5.顺序码00
6.倒数第二位 5,奇数表示性别:男, 偶数:女
7.最后一位,是校验码。验证这个身份证是不是瞎编的!!!!
*/
object string02 {
def getGender(idCard:String):String = {
val gender = idCard.substring(16,17).toInt
if(gender %2 ==0)
"女"
else
"男"
}
def getBirthday(idCard:String):String = {
val year = idCard.substring(6,10)
val month = idCard.substring(10,12)
val day = idCard.substring(12,14)
year+"-"+month+"-"+day
}
def getAge(idCard:String):Int = {
val year = idCard.substring(6,10).toInt
//获取当年年份
val currentYear = LocalDate.now().getYear
currentYear-year
}
def main(args: Array[String]): Unit = {
val idCard = "123456789011"
val gender = getGender(idCard)
val birthday = getBirthday(idCard)
val age = getAge(idCard)
println(s"""
性别:${gender}
生日:${birthday}
籍贯:湖北省
年龄${age}
星座:xx座
""")
}
}