Kotlin字符串

/**
 * kotlin学习 -字符串和字符
 * 总体来说:跟java 字符的方法差不了多少
 */
fun main(args: Array) {
    //字符串声明
    var  courseName = "谷歌发布TensorFlow Lite,苹果不甘示弱祭出Core ML"
    //输出字符串长度--courseName.length,返回Int类型  属性成员
    println("字符串长度:"+courseName.length)
    //输出字符串是否为空--courseName.isEmpty(),返回Boolean类型 函数(方法)成员
    println("字符串是否为空:"+courseName.isEmpty())
    //输出字符串字符总和--courseName.count(),返回Int类型
    println("字符串字符总和:"+courseName.count())
    //获取指定位置的字符 courseName.get(X) x代表自定位置 或写成 courseName[x] courseName.elementAt(x)
    println("获取指定位置3的字符:"+courseName.get(3) +"\t或者写成courseName[3]:"+courseName[3] +"\t或者写成courseName.elementAt(3):"+courseName.elementAt(3))
    //获取首字符 courseName.first()
    println("获取首字符:"+courseName.first())
    //获取尾字符 courseName.last()
    println("获取尾字符:"+courseName.last())
    //截取某一段字符 courseName.substring(x) x想代表0到某个指定位置的字符串
    println("截取某一段字符:"+courseName.substring(20))
    //截取中间一段字符 courseName.substring(x,x1) x代表起始位置(x>= 0),x1想代表0到某个指定位置的字符串
    println("截取中间一段字符:"+courseName.substring(10,20))
    println("*******************************索引**********************************")
    //重新声明--索引
    courseName = "谷歌发布TensorFlow Lite,苹果不甘示弱祭出Core ML"
    //取出关键字 “布” 的 位置
    println("取出关键字 “布” 的 位置:"+courseName.indexOf("布"))
    //用关键字 “indices”显示 courseName的索引范围 ..表示区间范围
    println("用关键字 “indices”显示 courseName的索引范围:"+courseName.indices)
    //最后一个索引位置 +courseName.lastIndex
    println("最后一个索引位置:"+courseName.lastIndex)
    //最后一个索引位置 +courseName.lastIndexOf
//    println("最后一个索引位置:"+courseName.lastIndexOf("祭"))
    println("还原声明:"+courseName.reversed())

    var  title = "谷歌发布TensorFlow Lite,苹果不甘示弱祭出Core ML"
    println("*******************************字符串比较**********************************")
    println("方法一(courseName == title):"+(courseName == title))
    println("方法二(courseName.contentEquals(title )):"+(courseName.contentEquals(title )))

    println("*******************************字符串舍弃**********************************")
    println("舍弃前面几个字符(title.drop(6)):"+title.drop(6))
    println("舍弃后面几个字符(title.dropLast(6)):"+title.dropLast(6))
    title = "    谷 歌发  布TensorFlow Lite,苹果   不甘示弱 祭出Core   ML    "
    println("舍弃前面字符的空格(title.dropWhile { it.isWhitespace() }):"+title.dropWhile { it.isWhitespace() })
    println("舍弃前面后面字符的空格 追加(高阶函数)实现\n(title.dropWhile { it.isWhitespace() }.dropLastWhile { it == '弱'||it.isWhitespace() }):"+title.dropWhile { it.isWhitespace() }.dropLastWhile { it == '弱'||it.isWhitespace() })
    println("*******************************字符串取出**********************************")
    println("取出前面几个字符(title.take(6)):"+title.take(6))
    println("取出后面几个字符(title.takeLast(6)):"+title.takeLast(6))
    println("取出空白字符(title.takeLast(6)):"+title.takeWhile { !it.isWhitespace() })
    println("*******************************字符串替换**********************************")
    println("替换多个字符(courseName.replace):"+courseName.replace("祭出Core","XXXXX"))
    println("替换一个为多个字符(courseName.replace):"+courseName.replace("出","没有"))
    println("替换一个为一个字符(courseName.replace):"+courseName.replace("出","呵"))

    println("*******************************字符串扩展**********************************")
    println("插入title.toCharArray().forEach { print(it+\",\") }:")
    println(title.toCharArray().forEach { print("$it,") })
    println("或者插入title.toCharArray().forEach { print(it+\",\") }:")
    println(title.toCharArray().forEach { print(it+",") })
//    List title = title.toCharArray().forEach { print(it+",") }.toString().split(",")
    println("特殊插入:")
    var name = "小明"
    var sex = true
    var  date = "2012年12月25日"
    var  time = "12点32分"
    var cacke ="操你妈逼起来嗨"

    val orderInfo = "你好${name}写别${if(sex)"boy" else "girl" }"+"您已于${date}进入${date}\t${time}"+"动作${cacke}"
    println(orderInfo)

}

你可能感兴趣的:(Android)