swift语法--08字符串
2016-03-10 本文已影响54人
20b347b28fc9
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