String与NSString,范围Range

String是结构体,属于值传递类型,而NSString是类,属于引用类型。单看NS前缀就可以猜出,这大概是与OC有密切的关系,实际上也确实如此。

String与NSString转换:

创建String变量:

var str: String = "test"

转变为NSString类型:

var ns = str as! NSString

从NSString转变为String:

var ns: NSString = "test"
var str = ns as! String

范围Range:

范围Range多用于String字符串截取。下面一个示例为从一个网址里面截取其主要地址:

let str: String = "www.baidu.com"
let startIndex = str.index(str.startIndex, offsetBy: 4)
let endIndex = str.index(str.startIndex, offsetBy: 8)
let newStr = startIndex...endIndex
print("\(newStr)")
print("\(str[newStr])")

String.index(String.startIndex, offsetBy: )是用来截取从前缀开始到偏移结束的字符串,下面startIndex...endIndex创建了一个rawBits,里面存放的就是截取的字符串组成的集合。str[newStr]就是要显示的内容即baidu

大小写转换:

String:
大写:

str.uppercased()

小写:

str.lowercased()

NSString:
大写:

str.uppercased()

小写:

str.lowercased()

前缀/后缀判断:

String:

var str: String = "test"
print("\(str.contains("te"))")

NSString:
前缀:

var str: NSSString = "test"
print("\(str.hasPrefix("t"))")

后缀:

var str: NSSString = "test"
print("\(str.hasSuffix("t"))")
上一篇:2021.3.17刷题-分割回文串


下一篇:LeetCode131. 分割回文串