Swift学习 -- 字符串

一.字符串的介绍

  • 字符串的使用,在任何一门编程语言的开发中都是非常频繁的。

二.与OC的区别

  • Swift中字符串是一个结构体,OC字符串是一个对象,性能比OC字符串要高。
  • Swift中字符串的类型是String,写法"abc",而OC是NSString,写法@"abc"。
  • Swift中的字符串支持直接遍历。

三.用法

1.定义

格式:
let 标识符 = "值"

var 标识符 = ”值“
例子:

//OC
NSString * str = @“疯狂的小托马斯”;

//Swift
let str = "疯狂的小托马斯"
var str1 = "疯狂的小托马斯"

2.遍历字符串

  • String 支持直接遍历。
    例子:
var str = "疯狂的小托马斯"
for c in str.characters{
    print(c)
}

3.拼接字符串

  • 字符串之间的拼接
    直接用+进行拼接。
    例子:
let  s = "疯狂"
let s1 = "的"
let s2 = "小托马斯"
let resultStr = s + s1 + s2
print(resultStr)
//打印结果:疯狂的小托马斯 
var s3 = "最牛de "
s3 += resultStr
print(s3)
//打印结果:最牛de疯狂的小托马斯
  • 字符串与其他不同类型的标识符拼接
    格式 :
    /(标识符)
    例子:
let age = 22
let name = "疯狂的小托马斯"
var str3 = "name = \(name),age = \(age)"
print(str3)
//打印结果:name = 疯狂的小托马斯,age = 22

4.字符串的格式化

-使用的方法与OC类似,只是表现形式不同。
例子:

//OC
NSString * time = [NSString stringWithFormat:@"%02d:%20d:%02d",9,9,13];
//Swift
var time = String(format: "%02d : %02d : %02d", arguments: [9, 9, 13])
print(time)
//打印结果:09 : 09 : 13

5.字符串的截取

  • 字符串截取有2种方式。
    • OC对象方式截取
      将string转换成NSString进行截取操作。
      例子:
 let s = "疯狂的小托马斯"
let h = (s as NSString).substringToIndex(2)
let m = (s as NSString).substringWithRange(NSMakeRange(2, 1))
let t = (s as NSString).substringFromIndex(3)
print(h)
print(m)
print(t)
/*打印结果:
疯狂
的
小托马斯
*/
  • string直接截取
let nameStr = "疯狂的小托马斯"
//创建Index
let indexS = nameStr.startIndex.advancedBy(2)
let indexEnd = nameStr.endIndex.advancedBy(-4)//endIndex注意要逆序,并且要负数
let range = Range(start: indexS, end: indexEnd)
//截取
let header = nameStr.substringToIndex(indexS)
let body = nameStr.substringWithRange(range)
let footer = nameStr.substringFromIndex(indexEnd)
print(header+body+footer)
//打印结果:疯狂的小托马斯
let index = nameStr.characters.indexOf("的") //根据字符查找index,最先遍历那个字符
//index = 2

如果大家有什么疑惑,或者文章有什么错误的地方,请大家留言。

你可能感兴趣的:(Swift学习 -- 字符串)