swift基本语法(总结提炼版)之009 swift 之字符串

来源:互联网 发布:nba2k16捏脸数据游侠网 编辑:程序博客网 时间:2024/05/16 15:54

字符串

在 Swift 中绝大多数的情况下,推荐使用 String 类型

使用 String 的原因

  • String 是一个结构体,性能更高
    • String 目前具有了绝大多数 NSString 的功能
    • String 支持直接遍历
  • NSString 是一个 OC 对象,性能略差
  • Swift 提供了 String 和 NSString 之间的无缝转换

遍历字符串

let str = "我要飞的更High"for s in str {    print(s)}

字符串拼接

let str1 = "zhangsan"let str2 = "lisi"let i = 10print(str1 + str2)print("\(str1) \(str2) \(i)")
  • 阶段性小结
    • 直接在 "" 中使用 \(变量名) 的方式可以快速拼接字符串
    • 小伙伴们再也不要考虑 stringWithFormat 了

格式化字符串

for _ in 0...10 {    let str = String(format: "zhangsan - %04d", arguments: [arc4random_uniform(100)])    print(str)}
  • 阶段性小结
    • 在实际开发中,如果需要指定字符串格式,可以使用 String(format:...) 的方式
    • 注意:后面的参数需要放在一个数组中

String & Range 的结合

以下是超级费劲的代码

let str: String = "我要飞的更High"var subStr = str.substringWithRange(Range<String.Index>(start: str.startIndex, end: str.endIndex))print(subStr)

建议写法

let str1: NSString = "我要飞的更High"print(str1.substringWithRange(NSMakeRange(0, 3)))
操练:
/*字符:OC: char charValue = 'a';*/var charValue1:Character = "a"/*Swift和OC字符不一样1.Swift是用双引号2.Swift中的字符类型和OC中的也不一样, OC中的字符占一个字节,因为它只包含ASCII表中的字符, 而Swift中的字符除了可以存储ASCII表中的字符还可以存储unicode字符, 例如中文:OC:char charValue = '李'; // 错误Swift: var charValue2:Character = "李" // 正确OC的字符是遵守ASCII标准的,Swift的字符是遵守unicode标准的, 所以可以存放时间上所有国家语言的字符(大部分)*/var charValue2:Character = "李" //正确/*注意: 双引号中只能放一个字符, 如下是错误写法var charValue3:Character = "ab"*//*字符串:字符是单个字符的集合, 字符串是多个字符的集合, 想要存放多个字符需要使用字符串C:char *stringValue = "ab";char stringArr = "ab";OC:NSString *stringValue = "ab";*/var stringValue1 = "ab"/*C语言中的字符串是以\0结尾的, 例如:char *stringValue = "abc\0bcd";printf("%s", stringValue);打印结果为abcOC语言中的字符串也是以\0结尾的, 例如:NSString *stringValue = @"abc\0bcd";NSLog(@"%@", stringValue);打印结果为abc*/var stringValue2 = "abc\0bcd"print(stringValue2)// 打印结果为abcbcd// 从此可以看出Swift中的字符串和C语言/OC语言中的字符串是不一样的
0 0
原创粉丝点击