swift 2.0 字符串操作...

来源:互联网 发布:天敏网络机顶盒打不开 编辑:程序博客网 时间:2024/06/05 22:45


//: [Previous](@previous)import Foundationimport UIKit/*    String 结构体,效率比对象高,一般推荐使用String    NSString 继承NSObject*/var str:String = "你好世界"//支持遍历for c in str.characters {    print(c);}// 字符串的拼接let name:String? = "老王"let age = 80let title = "小菜"//可选类型无法参与 肯定有值 print , 必须要指定, 方法1: 写感叹号 方法2: ?? "" 指定空得时候的内容,?? 左右都需要空格, 真坑print(name ?? "" + String(age) + title)// \(变量名) 就会自动转换拼接// 如果是可选项的转换 , 会带上 'Optional', 提示开发人员,值是可选的// 拼接字符串有小陷阱,可选类型会打印 Optionalprint("\(name)\(age)\(title)")// 真的需要格式怎么办let hour = 9let minute = 5let second = 8let timeStr = "\(hour):\(minute):\(second)"// 注意: 参数是以数组的形式输入 []let timeStr1 = String(format: "%02d:%02d:%02d", arguments: [hour,minute,second])// 在Swift语法变迁中,'Range'的变化非常大, 如果碰到 Range, 最好把String改成 NSString//str.substringWithRange(<#T##aRange: Range<Index>##Range<Index>#>)var s="我是谁啊"(s as NSString).substringWithRange(NSMakeRange(2, 2)) // (startIndex, len)// 网上推荐使用Swift的str.substringWithRange(<#T##aRange: Range<Index>##Range<Index>#>)let index = s.startIndex.advancedBy(2) // 输入的变量是角标, --->谁let index2 = s.endIndex.advancedBy(-1) // 从后往前数 -1 -2 -3 --->啊var range = Range<String.Index>(start: index,end: index2) --->'谁'___'啊',包含头,不包含尾var s1:String=s.substringFromIndex(index) //从角标开始到末尾var s2:String=s.substringToIndex(index2) // 从0到角标 , 不包含角标var s3=s.substringWithRange(range) //包含起始, 不包含尾print(s1)//谁啊print(s2)//我是谁print(s3)//谁//let range = Range<String.Index>(start:str., end: advance())//str.substringWithRange(range);//: [Next](@next)


0 0