android开发之&android中的swift,kotlin基础语法(四)

181 阅读2分钟

对字符串和字符的操作

var courseName = "谷歌发布TensorFlow Lite,苹果不甘示弱祭出Core ML"    
var title2 = "谷歌发布TensorFlow Lite,Apple不甘示弱祭出Core ML"    
println(courseName.count())    
println(courseName.isEmpty())    
println(courseName.length)    
/**     
* 获取指定位置的字符     
*/    
println(courseName.get(3))    
println(courseName[3])    
println(courseName.elementAt(3))    
/**     
* 获取头或尾的字     
*/    
println(courseName.first())    
println(courseName.last())    
/**     
* substring 截取某一段字符串     
*/    
println(courseName.substring(3))//3到最后   打印TensorFlow Lite,苹果不甘示弱祭出Core ML    
println(courseName.substring(20))//20到最后 打印苹果不甘示弱祭出Core ML    
println(courseName.substring(20,22))//截取20到22      打印苹果    
/**     
* 索引(index)     
*/    
println(courseName.substring(courseName.indexOf("f")))//打印苹果不甘示弱祭出Core ML    
println(courseName.substring(courseName.indexOf("苹"),2))//打印苹果    
/**     
* 是否包含某个字符串     
*/    
println(courseName.contains("谷歌"))//打印:true    
/**     
* 判断两个字符串是否内容相同     
*/    
println(courseName == title2)           //打印:false    
println(courseName.contentEquals(title2))//打印:false    
/**     
* 舍弃子串系列     
*/    
println(title2.drop(6))//舍弃前6个字符    
println(title2.dropLast(7))//舍弃后7个字符    
//有条件的舍弃    
val title = " 前面有空格的文本 嘎嘎"    
println(title.dropWhile { it.isWhitespace() })//当前面遇到空格,就丢掉,中间空格不会被去掉    
//可以继续追加    
println(title.dropWhile { it.isWhitespace() }.dropLastWhile { it.isWhitespace() })    
/**     
* 捡取系列,take开头     
*/    
println(title2.take(6))//取前6个    
println(title2.takeLast(7))//取后7个    
/**     
* 替换功能     
*/    
println(courseName.replace("谷歌","美国google"))    
/**     
* kotlin支持多行字符串     
*/    
val code = """        
sdkfjsljflsdjfl        
safjsldkfjlskjl        
"""    
println(code)    
/**     
* 字符串模板     
*/    
var fullName = "小波"    
var sex = true    
var date = "2018812日"    
var time = "1530分"    
var vender = "东方航空"    
var departure = "上海"    
var destination = "拉萨"    
var planeNumber = "Mu2158"    
var advanceTime = 2    
var airport = "浦东国际机场"    
var terminal = "T2"     
var orderInfo = "尊敬的${fullName}${if (sex)"先生" else "小姐"},"+            "您已订购${date}${time}由${vender}执飞的从${departure}飞往${destination}"+            "的${planeNumber}号航班,请提前${advanceTime}个小时到达${airport}${terminal}航班楼,以免误机。"    
println(orderInfo)

字符:kotlin中用Char类型定义字符。字符用一对单引号包含,称为字符字面量

fun main(args: Array<String>) {    
    val me = '我'    
    var five = '5'    
    /**     
    * 判断字符是否为数字或文字     
    * 用isDigit()和isLetter()方法     
    */    
    println(five.isDigit()) //true    
    println(me.isLetter())  //true    
    /**     
    * 字符的下一个或上一个字符     
    */    
    println(five - 1) //4    
    println(me + 1)   //戒  戒在Unicode编码中处于"我"的下一个位置
}