swift基本语法(总结提炼版)之009 swift 之字符串
来源:互联网 发布:nginx 启动不了windows 编辑:程序博客网 时间:2024/05/17 02: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 = 10
print(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);
打印结果为abc
OC语言中的字符串也是以\0结尾的, 例如:
NSString *stringValue = @"abc\0bcd";
NSLog(@"%@", stringValue);
打印结果为abc
*/
var stringValue2 = "abc\0bcd"
print(stringValue2)
// 打印结果为abcbcd
// 从此可以看出Swift中的字符串和C语言/OC语言中的字符串是不一样的
Baidu Button BEGIN
Baidu Button END 172.16.140.13 Baidu Button BEGIN Baidu Button END
顶
0
- swift基本语法(总结提炼版)之009 swift 之字符串
- swift基本语法(总结提炼版)之009 swift 之字符串
- swift基本语法(总结提炼版)之004 Swift之 for 循环
- swift基本语法(总结提炼版)之005 Swift之 switch循环
- swift基本语法(总结提炼版)之006 Swift之 while循环
- swift基本语法(总结提炼版)之007 swift之数组
- swift基本语法(总结提炼版)之008 swift 之字典
- swift基本语法(总结提炼版)之010 swift 之函数
- swift基本语法(总结提炼版)之011 swift 之函数类型
- swift基本语法(总结提炼版)之012 swift 之闭包
- swift基本语法(总结提炼版)之013 swift 之闭包返回值
- swift基本语法(总结提炼版)之014 swift 之闭包循环引用
- swift基本语法(总结提炼版)之003 Swift类型转换
- swift基本语法(总结提炼版)之001常量&变量
- swift基本语法(总结提炼版)之002逻辑分支
- Swift学习之基本语法
- Swift学习笔记之字符串(总结)
- iOS开发之Swift基本语法详解
- 感谢传智播客+C#.Net学习之旅
- linux使用FIO测试磁盘的iops
- 图片放大时实现鼠标拖动查看完整图片功能
- Android Twitter 分享---官方Fabric方式
- 电脑卡顿的终极奥义
- swift基本语法(总结提炼版)之009 swift 之字符串
- Android:安卓Touch事件分发机制
- C#文件下载(实现断点续传)
- redis哨兵(sentinel)原理
- 【整理】jQuery知识点3
- AWT入门 Frame篇
- android ontouch和onclick冲突处理
- 【整理】jQuery知识点4
- Java之序列化 (Serialization) 详细教程