Swift字符串常用操作

// Swift的字符串类型String, 跟OC的NSString, 在API设计上还是有较大差异/目前可以自动乔接
// 空字符串
var emptyStr1B = ""
var emptyStr2B = String()

var strB = "123456"
print(strB.hasPrefix("123"))
print(strB.hasSuffix("456"))

var strB1: String = "1"
// 拼接,jack_rose
strB1.append("_2")
// 重载运算符 +
strB1 = strB1 + "_3"
// 重载运算符 +=
str += "_4"
// ()插值
strB1 = "(str)_5"
print(strB1.count)

// String的插入和删除
var strB2 = "1_2"
// 1_2
// 增加
strB2.insert("_", at: strB2.endIndex)
print(strB2)
strB2.insert(contentsOf:"3_4", at: strB2.endIndex)
print(strB2)
strB2.insert(contentsOf:"666", at: strB2.index(after: strB2.startIndex))
print(strB2)
strB2.insert(contentsOf:"888", at: strB2.index(before: strB2.endIndex))
print(strB2)
strB2.insert(contentsOf:"hello", at: strB2.index(strB2.startIndex, offsetBy: 4))
print(strB2)

// 删除
strB2.remove(at: strB2.firstIndex(of: "1")!)
print(strB2)
// 删除所有的6
strB2.removeAll {$0 == "6"}
print(strB2)
var range = str.index(strB2.endIndex, offsetBy: -4).. strB2.removeSubrange(range)
print(strB2)

// C
// Substring
// String可以通过下标、prefix、suffix等截取子串,子串类型不是String,而是Substring
var strC = "1_2_3_4_5"
var substr1 = strC.prefix(3)
print(substr1)
var substr2 = strC.suffix(3)
print(substr2)
var rangeC = strC.startIndex.. var substr3 = strC[rangeC]

// 最初的string1_2_3_4_5
// 原来依赖的基础是什么
print(substr3.base)

// Substring -> String
var strC2 = String(substr3)
print(strC2)
// Substring和它的base,共享字符串数据
// Substring发生修改或者转为String时,会分配新的内存存储x字符串数据

// E
// string与Character
for c in "jack" {
print(c)
}
var strE = "jack"
// c是Character类型
var c = strE[strE.startIndex]
print(c)

// String相关的协议
// 多行String
// 自行了解一下

// F
// String 与 NSString
// String 与 NSString 之间可以随时随地桥接转换
// 如果你觉得String的API过于复杂难用,可以考虑将String转为NSString
var strF1: String = "jack"
var strF2: NSString = "rose"

var strF3 = strF1 as NSString
var strF4 = strF2 as String

var strF5 = strF3.substring(with: NSRange(location: 0, length: 2))
print(strF5)
// 比较字符串内容是否等价
// String使用 == 运算符
// NSString使用isEqual方法,也可以使用 == 运算符(本质还是调用了isEqual方法)

<->:可以相互的转换。
<- :单项转换无法逆转的操作。

String <-> NSString

String <- NSMutableString

Array <-> NSArray

Array <- NSMyutableArray

Dictionary <-> NSDictionary

Dictionary <- NSMutableDictionary

Set <-> NSSet

Set <- NSMutableSet

你可能感兴趣的:(Swift字符串常用操作)