美文网首页
swift语法--08字符串

swift语法--08字符串

作者: 20b347b28fc9 | 来源:发表于2016-03-10 00:36 被阅读54次

    swift语法--08字符串


    字符串

    • OC的字符串是NSString, Swift的字符串String
    • OC的字符串是一个对象, Swift字符串是一个结构体, 效率更高
    • OC中的字符串是一个\0结尾, Swift字符串不是以\0结尾
    //OC中字符串是一个\0结尾
    NSString *str  = @"abc\0def";
    NSLog("%@", str);    // abc
    
    //Swift字符串不是以\0结尾 
    let str = "abc\0def"
    print(str)     //abc\0def
    
    遍历字符串
    let str = "ererzuishuai"
    for c in str.characters
    {
        print(c)
    }
    
    字符串拼接
    var str2 = "yes"
    str2 += str
    str2   //ererzuishuaiyes
    
    字符串格式化

    可以使用()在字符串中插入任何数据

    let name = "erer"
    let age = 18
    let res = "name = \(name), age = \(age)"
    res
    
    // 2016-03-09 23:14
    let str3 = String(format: "%d-%02d-%02d %02d:%02d", arguments: [2016, 3, 9, 23, 14])
    
    截取字符串

    提示: 在Swift开发中, 我们经常需要将Swift的字符串转换为OC的字符串来操作, 并且Swift自身也意识到了这一点, 所以在OC字符串和Swift的字符串之间转换相当简单

    let str1 = "erershuai"
    
    //目标:截取出shuai
    //Swift中截取字符串的方法, 接收的参数和OC中不一样
    //前期, 为了大家开发方便, 建议转换为NSString之后再截取
    
    //转换
    let str2: NSString = str1 //转换方法1
    let str2 = str1 as NSString //转换方法2
    
    str2.substringFromIndex(4)  //shuai
    str2.substringToIndex(4)    //erer
    str2.substringWithRange(NSMakeRange(4, 2))  //sh
    
    
    let str1 = "erershuai"
    // as 就是把什么当做什么
    (str1 as NSString).substringWithRange(NSMakeRange(4, 2))
    
    注意
    • Swift字符串中的 .startIndex ,用于获取字符串中第一个字符的位置
    • Swift字符串中的 .endIndex, 用于获取字符串中最后一个字符串下一位的位置
    let str3 = "SheIsAGirl"
    
    str3.substringFromIndex(str3.startIndex)  //SheIsAGirl
    str3.substringFromIndex(str3.endIndex)    //空
    
    str3.substringFromIndex(str3.startIndex.advancedBy(3))  //IsAGirl
    str3.substringFromIndex(str3.endIndex.advancedBy(-3))   //irl
    

    相关文章

      网友评论

          本文标题:swift语法--08字符串

          本文链接:https://www.haomeiwen.com/subject/uxrtlttx.html