11.swift 字符和字符串
/*
字符:
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语言中的字符串是不一样的
// 1.定义字符串
let str = "hello world"
// 2.遍历字符串中字符
for c in str.characters {
print(c)
}
// 3.字符串的拼接
// 3.1.字符串之间的拼接
let str1 = "上海"
let str2 = "东方明珠"
let result = str1 + str2
// 3.2.字符串和其他标识符之间的拼接
let age = 18
let name = "why"
let height = 1.88
//NSString stringwhithFor
// 拼接其他标识符的格式: \(标识符的名称)
let info = "my name is \(name), age is \(age), height is \(height)"
// 3.3.字符串的格式化: 音乐播放器
let min = 3
let second = 04
//let timeStr = "0\(min):0\(second)"
let timeStr = String(format: "d:d", arguments: [min, second])
// 4.字符串的截取
let urlString = "www.520it.com"
// 将String类型转成NSString类型 string as NSString
let header = (urlString as NSString).substringToIndex(3)
let middle = (urlString as NSString).substringWithRange(NSRange(location: 4, length: 5))
let footer = (urlString as NSString).substringFromIndex(10)