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)

  }

}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM