集合之字符串(八)

版权声明:菲立思教育 https://blog.csdn.net/cold_wolfie/article/details/82533731

简介

  在 Scala 中,字符串的类型实际上是 Java String,它本身没有 String 类。

  在 Scala 中,String 是一个不可变的对象,所以该对象不可被修改。这就意味着你如果修改字符串就会产生一个新的字符串对象。

  String在操作时可以被隐式转换成StringOps对象,通过StringOps对象给字符串添加了上百种操作,如:”hello”.intersect(“world”)找出两个字符串中共同的字符、toString方法转换成字符串、toInt、toDouble转换成数字等方法。

创建字符串

var greeting:String = "Hello World!";
或
//Scala 编译器会自动推断出字符串的类型为String
var greeting = "Hello World!";

StringBuilder

  String对象是不可变的,如果需要创建一个可以修改的字符串,可以使用StringBuilder类。

object Test {
   def main(args: Array[String]) {
      val buf = new StringBuilder;
      buf += 'a'
      buf ++= "bcdef"
      println( "buf is : " + buf.toString );
   }
}

简单实例

object TestString {
  def main(args: Array[String]) {
    val cc=TestString()
    println("大写转换:"+cc.changeUpper("abcde"))
    println("小写转换:"+cc.changeLower("QWER"))
    println("顺序反转:"+cc.reverseStr("123456789"))
    println("删除指定位置的元素:"+cc.dropElement("0987654321"))
    println("获取指定位置的元素:"+cc.subString("1234567"))
    println("获取序列:"+cc.sequnceStr("qazxsw"))
    println("添加元素:"+cc.addElement("1234qwer"))
    println("获取元素所在的下标:"+cc.getIndex("a"))
    println("获取指定下标的元素值:"+cc.getCharAt(2))
    println("是否包含指定字符:"+cc.containsIs("g"))//返回值是true或者false
  }

  case class TestString(){
    lazy val str="abcdefghijklmnopqrstuvwxyz"
    //大写转换
    def changeUpper(str:String)={
      str.map(_.toUpper)
    }
    //小写转换
    def changeLower(str:String)={
      str.map(_.toLower)
    }
    //反转
    def reverseStr(str:String)={
      str.reverse
    }
    //剔除元素
    def dropElement(str:String)={
      str.drop(2)//剔除下标为2之前的元素
    }
    //截取指定位置的元素
    def subString(str:String)={
      str.slice(1,3)//前包后不包
    }
    //获取序列
    def sequnceStr(str:String)={
      val s: Seq[Char] = str
      s
    }
    //获取序列
    def addElement(str:String)={
     str.concat("hello")
    }
    //获得下标
    def getIndex(str2:String)={
       str.indexOf(str2)
    }
    //获取指定下标的元素
    def getCharAt(i:Int)={
      str.charAt(i)
    }
    //是否包含该元素
    def containsIs(foo:String) ={
      str.contains(foo)
    }
  }
}

猜你喜欢

转载自blog.csdn.net/cold_wolfie/article/details/82533731