// ------------ 字符串 ---------
// 1.拼接
// 可变字符串
let oneStr = NSMutableString.init()
let twoStr = oneStr.appending("twoStr")
let threeStr = twoStr.appending("threeStr")
print("threeStr:",threeStr)
// 不可变字符串
let str1 = "str1"
let str2 = "str2"
let str3 = str1 + str2
print("str3:",str3)
// 2.字符串遍历
for strTmp in str3 {
print("遍历字符串:",strTmp)
}
// 3.个数
print("字符串个数:",str3.count)
// 4.字符串比较 & 是否包含前后缀
let strSame1 = "abc"
let strSame2 = "abc"
if strSame1 == strSame2 {
print("同")
} else {
print("不同")
}
// 前缀
let aM = "a"
if strSame1.hasPrefix(aM) {
print("包含前缀")
} else {
print("不包含前缀")
}
// 后缀
if strSame1.hasSuffix("b") {
print("包含后缀")
} else {
print("不包含后缀")
}
// 5 包含(2)
let myString = "My name is Sky"
if (myString.range(of: "Sky") != nil) {
print("包含 Sky")
} else {
print("不包含 Sky")
}
// 包含(2)
let string = "hello Swift";
let subString = (string as NSString).contains("Swift")
if(subString){print("包含")}
// 6 字符串截取
let helloWorld = "abcdefghijklmn"
/*
要对String操作,大多需要通过String.Index为中间媒介来达到。
对于截取字符串,Swift4用的是[startIndex...endIndex]这样的语法,在String后跟一个区间。通俗讲,此区间的值要求用String.Index类型,下面我们来弄出一些Index值。
*/
let startIndex = helloWorld.startIndex
// 在起始Index基础上偏移5:
let subIndex = helloWorld.index(startIndex, offsetBy: 5)
/*
在中括号里写两个值,可以得到一个子串,结果是SubString类型。
这种写法...是闭区间,得到结果包括左右两个Index对应的字符;
这种写法..<是开区间,得到结果包括了左Index对应的字符,但不包括右Index对应的
*/
// 以上得到的结果,类型还不是String,只是SubString类型而已,还需要我们多做一步工作,构造String :
let lasStr = String(helloWorld[...subIndex])
print("字符串截取:",lasStr)
// 7.替换
let replaceStr = " replaceStr abcdefg"
print("字符串替换:",replaceStr.replacingOccurrences(of: "r", with: "F"))
// 8.分割成数组
let strArray = "abce/fg/hijklmn"
let aray = strArray.components(separatedBy: "/")
print("分割成数组:",aray)
print("数组拼接:",aray.joined(separator: "-"))
//9. 字符串转为Data
let dataStr = "a"
print(dataStr.data(using: .utf8) ?? "falseDataStr")