字符串

  • 在Swift 中,字符串的类型是String
  • 其本身类型是一个结构体,比NSString更加轻量级,速度更快
  • 支持直接遍历
  • Swift 中的String 可以与 OC 中的 NSString 无缝转换:let str:string = str as NSString

字符串常用操作

  • 遍历字符
let str = "hello swift!"
for c in str.characters{
    print(c)
}
  • 字符串的长度
let str = "别低头,绿帽会掉"
//返回以字节为单位的字符串长度,一个中占3个字节    
print(str.lengthofBytesUsingEncoding(NSUTF8StringEncoding))
//返回实际字符个数    
print(str.characters.count)
//返回UTF8编码长度     
print(str.utf8.count)
  • 字符串拼接
    • 直接在""中使用\(变量名) 的方式可以快速拼接字符串
let str1 = "hello"
let str2 = "World"   
let i = 32
let str = "\(i)" + str1 + " " + str2
  • 可选项的拼接
    • 如果变量是可选项, 拼接的结果中会有optional
    • 为了应对强行解包存在的风险,我们可以使用??操作符
let str1 = "hello"
let str2 = "World"   
let i:Int? = 32
let str = "\(i??0)个" + str1 + " " + str2
  • 格式化字符串
    • 在实际开发中,如果需要指定字符串格式,可以使用String(format:...)的方式
    • 类似于OC中的stringWithFormat
let h = 8
let m = 23
let s = 9
let timeString = String(format: "%02d:%02d:%02d", arguments: [h, m, s])
let timeStr = String(format: "%02d:%02d:%02d", h, m, s)
  • 字符串截取
let str ="听说下雨天音乐和辣条更配哟"
//fromIndex 是从指定位置开始截取 直到末尾
//打印结果:下雨天音乐和辣条更配哟
let result1 = str.substringFromIndex("哈哈".endIndex)
print(result1)
//toIndex 从开始截取直接截取到指定位置
//打印结果:听说下雨天音乐和辣条更
let result2 = str.substringToIndex(str.endIndex.advancedBy(-2))
print(result2)  
//withRange:截取指定范围
//打印结果:下雨天音乐和辣条更
let startIndex = "哈哈".endIndex
let endIndex = str.endIndex.advancedBy(-2)
let result3 = str.substringWithRange(startIndex..<endIndex)
print(result3) 
//如果不习惯Swift写法,也可以直接将String转换成NSString 使用
//打印结果:听说
let ocStr = str as NSString
print(ocStr.substringWithRange(NSMakeRange(0, 2)))
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容