• swift学习第五天:字符串


    字符串的介绍

    • 字符串在任何的开发中使用都是非常频繁的
    • OC和Swift中字符串的区别
      • 在OC中字符串类型时NSString,在Swift中字符串类型是String
      • OC中字符串@"",Swift中字符串""
    • 使用 String 的原因
      • String 是一个结构体,性能更高
      • NSString 是一个 OC 对象,性能略差
      • String 支持直接遍历
      • Swift 提供了 StringNSString 之间的无缝转换

    字符串的使用

    遍历字符串
    // 字符串遍历
    var str = "Hello, Swift"
    for c in str.characters {
        print(c)
    }
    
    字符串拼接
    • 两个字符串的拼接
    let str1 = "Hello"
    let str2 = "World"
    let str3 = str1 + str2
    
    • 字符串和其他数据类型的拼接
    let name = "why"
    let age = 18
    
    let info = "my name is (name), age is (age)"
    
    • 字符串的格式化
      • 比如时间:03:04
    let min = 3
    let second = 4
    
    let time = String(format: "%02d:%02d", arguments: [min, second])
    
    字符串的截取
    • Swift中提供了特殊的截取方式
      • 该方式非常麻烦
      • Index创建较为麻烦
    • 简单的方式是将String转成NSString来使用
      • 在标识符后加:as NSString即可
    import UIKit
    
    // 1.定义字符串:swift定义字符串不用加@,直接是c语言字符串“”
    let str = "hello world"
    
    
    // 2.遍历字符串中字符:空格也算是一个字符
    for c in str.characters {
        print(c)
    }
    
    
    // 3.字符串的拼接
    // 3.1.字符串之间的拼接
    let str1 = "小码哥"
    let str2 = "IT教育"
    let result = str1 + str2
    
    // 3.2.字符串和其他标识符之间的拼接
    let age = 18
    let name = "why"
    let height = 1.88
    
    // 拼接其他标识符的格式: (标识符的名称)
    let info = "my name is (name), age is (age), height is (height)"
    
    // 3.3.字符串的格式化: %02d表示占位的意思,占两位,不足两位的用0去补位,arguments参数类型为一个数组,[min, second]表示一个数组,swift数组中可存放基本类型数据,用[]来表示
    //音乐播放器:
    let min = 3
    let second = 04
    let timeStr = String(format: "%02d:%02d", arguments: [min, second])
    
    
    // 4.字符串的截取:from 和 to都包括了
    let urlString = "www.520it.com"
    
    // 将String类型转成NSString类型 string as NSString
    let header = (urlString as NSString).substring(to: 3)
    let middle = (urlString as NSString).substring(with: NSRange(location: 4, length: 5))
    let footer = (urlString as NSString).substring(from: 10)
  • 相关阅读:
    二叉树的前序、中序、后序遍历
    队列&优先队列
    angularJS 初始化
    angularJS $q
    获取checkbox返回值
    ngRoute
    两个类的装饰器,内置的魔术方法
    super封装property反射
    广度优先和深度优先 父类对子类的约束 多态 鸭子模型
    继承
  • 原文地址:https://www.cnblogs.com/cqb-learner/p/5883316.html
Copyright © 2020-2023  润新知