Scala-字符串操作
package com.bigdata object StringO { def main(args: Array[String]): Unit = { val s1 = "Hello" val s2 = "World" //拼接、合并字符串 println(s1 + " " + s2) println(s1.concat(" "+s2)) //访问、截取字符串 println(s1(0)) val s3 = s1.substring(0,2) println(s3) //分隔字符串 val s4 = s1.split("ll") println(s4) //字符串格式化 val name = "xiaoming" val age = 20 val s5 = "%s is %d years old".format(name,age) println(s5) //处理字符串中的字符(map,filter,flatmap,for,foreach) val upper = s1.map(upper=>upper.toUpper) val upper1 = s1.map(i=>i.toUpper) val upper2 = s1.map(_.toUpper) println(upper,upper1,upper2) val filter = s1.filter(i=>i !='o') println(filter) s1.foreach(println) for (i <- s1 if i != 'l') { println("i = "+i) } //字符串中的查找模式 // 在一个string上调用.r方法可以创建一个Regex对象,之后在查找是否含有一个匹配时就可以用findFirstIn,此方法返回option类型,当需要查找是否完全匹配时可以用findAllIn,此方法返回一个迭代器 val pattern = "[0-9]+".r val address = "101 main street 123" val match1 = pattern.findFirstIn(address) val match2 = pattern.findAllIn(address) println(match1,match2) //字符串中的替换模式(replaceAll replaceAllIn replaceFirst replaceFirstIn) val address1 = address.replaceAll("[0-9]","x") println(address1) //抽取String中模式匹配的部分 val pattern1 = "([0-9]+) ([A-Za-z]+)".r val pattern1(count,fruit) = "100 bananas" println(count,fruit) } }