字符串
- 1.理论
- 两种定义格式 (1) 双引号 (2)双引号,支持换行
- (1)获取指定下标上的字符
- (2)获取字符串的长度,length属性,空格也是字符
- (3)获取子串,只需要一个长字符串中的一部分
package string
/*
* 字符串
* 1.理论
* 两种定义格式 (1) 双引号 (2)双引号,支持换行
* (1)获取指定下标上的字符
* (2)获取字符串的长度,length属性,空格也是字符
* (3)获取子串,只需要一个长字符串中的一部分
*
*
*/
object string01 {
def main(args: Array[String]): Unit = {
val str1:String="hello scala"
println(str1(0))
println(str1.length)
//str1.substring(起点下标,终点下标-不包含)
val str2=str1.substring(1,5)//ello
println(str2)
}
package string
import java.time.LocalDate
import java.time.chrono.IsoChronology
/*
* 字符串
* 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 getProvince(idCard:String):String={
val procode=idCard.substring(0,2)
//42 -->湖北省
val provinceMap=Map(
"11" ->"北京市",
"12" ->"天津市",
"13"->"河北省",
"14"->"山西省",
"15" -> "内蒙古自治区",
"21" -> "辽宁省",
"22" -> "吉林省",
"23" -> "黑龙江省",
"31" -> "上海市",
"32" -> "江苏省",
"33" -> "浙江省",
"34" -> "安徽省",
"35" -> "福建省",
"36" -> "江西省",
"37" -> "山东省",
"41" -> "河南省",
"42" -> "湖北省",
"43" -> "湖南省",
"44" -> "广东省",
"45" -> "广西壮族自治区",
"46" -> "海南省",
"50" -> "重庆市",
"51" -> "四川省",
"52" -> "贵州省",
"53" -> "云南省",
"54" -> "西藏自治区",
"61" -> "陕西省",
"62" -> "甘肃省",
"63" -> "青海省",
"64" -> "宁夏回族自治区",
"65" -> "新疆维吾尔自治区"
)
provinceMap.getOrElse(procode,"未知")
}
//水瓶座 1/10 ~ 2/
def main(args: Array[String]): Unit = {
val idCard="429005202010100026"
val gender=getGender(idCard)
val birthday=getBirthday(idCard)
val age=getAge(idCard)
val province=getProvince(idCard)
println(s"""
性别:${gender}
生日:${birthday}
籍贯: ${province}
年龄:${age}
星座:xx座
""")
}
}