字符串
转义字符
\0(空字符)、\\(反斜扛)、\t(水平制表符)、\n(换行符)、\r(回车符)、\”(双引号)、\’(单引号)单字节Unicode标量,写成\u{nn},其中nn为两位十六进制数双字节Unicode标量,写成\u{nnnn},其中nnnn为四位十六进制数var ch = "\u{56}\u{5355}\t\u{9501}\nhello"print(ch)// 经过测试{}内最成为五位
字符串拼接
字符串可以使用加号进行字符串的拼接可以采用”append()”方法来拼接字符串var str1 = "hello"let str2 = "word"print(str1+str2)// hellowordstr2.append("ASCJSDK")print(str2)// wordASCJSDK
字符串与其它数据类型的拼接
字符串与其它数据类型的拼接(“\()”)又可以成为字符串的插值操作
var str1 = "hello"var str2 = "\(str1),Swift语言"print(str2)// hello,Swift语言
字符串相关操作
判断是否为空
可以使用”.isEmpty”来判断可以使用”.characters.count”根据字符串个数进行判断比较字符串是否相等
可以使用”==”来判定字符串的比较是逐位进行比较,从首位开始,直到两个字符不相同为止。最终返回的是Unicode编码值比较的结果var str1 = "hello"var str2 = "hellp"print(str1<str2)// true
判断字符串的前缀和后缀
判断字符串的前缀是否是某个字符串的方法var str2 = "hellp"str2.hasPrefix("he") // true
判断字符串的后缀是否是某个字符串的方法
var str2 = "hellp"str2.hasSuffix("p") // true
将字符串转化为大写或者小写
将字符串全部转化为大写:uppercased()将字符串全部转化为小写:lowercased()var str2 = "Hellp"str2.uppercased() //HELLPstr2.lowercased() // hellp
与其它数据类型转换
其它数据类型转化为字符串,使用插值操作就可以字符串转化为Int/Float类型var str2 = "12"var ss:Int? = Int(str2)print(ss!) // 12var str2 = "12.1"var ss:Float? = Float(str2)print(ss!) // 12.1
数组
数组的声明
var array = ["你好","欢迎","慢走","不送"]var array1:[String]array1 = []var array2:[String] = []var array3 = [String]()var array4 = Array<String>()
需要对数组进行初始化,在初始化是可以进行赋值元素,也可直接使用”[]”表示一个空数组必须指定元素类型,可以显示指定,也可以通过初始化,让编译器识别出类型
// 错误的写法var array5 = []array5.append("aaaa")
数组元素的访问和修改
访问可以根据下标进行访问可以通过数组的个数判断数组是否为空可以利用isEmpty属性(布尔值)进行判断元素的修改// 修改单个元素array[0] = "hello"print(array)// ["hello", "欢迎", "慢走", "不送"]// 修改多个元素array[0...2] = ["hello","welcome","wait"]print(array)// ["hello", "welcome", "wait", "不送"]
数组的遍历
for-in循环进行数组的遍历for循环被废弃var array = ["你好","欢迎","慢走","不送"]for index in 0..<array.count {print("index:\(index) value:\(array[index])")}// index:0 value:你好// index:1 value:欢迎// index:2 value:慢走// index:3 value:不送for value in array {print("value:\(value)")}// value:你好// value:欢迎// value:慢走// value:不送
数组元素的插入和删除
插入元素
在指定位置插入元素 insert(_ newElement: Element, at i: Int)方法var array = ["你好","欢迎","慢走","不送"]array.insert("稍等", at: 2)print(array)// ["你好", "欢迎", "稍等", "慢走", "不送"]
在数组末尾添加元素:func append(_ newElement: Element)
var array = ["你好","欢迎","慢走","不送"]array.append("稍等")print(array)// ["你好", "欢迎", "慢走", "不送", "稍等"]
在数组末尾添加一个数组:+= ,数组的拼接
var array = ["你好","欢迎","慢走","不送"]array += ["一起"]print(array)// ["你好", "欢迎", "慢走", "不送", "一起"]
删除元素
删除指定位置的元素:func remove(at index: Int) -> Elementvar array = ["你好","欢迎","慢走","不送"]array.remove(at: 1)print(array)//["你好", "慢走", "不送"]
删除数组中末尾的元素:removeLast()
var array = ["你好","欢迎","慢走","不送"]array.removeLast()print(array)// ["你好", "欢迎", "慢走"]
删除数组中首位的元素:removeLast()
var array = ["你好","欢迎","慢走","不送"]array.removeFirst()print(array)// ["欢迎", "慢走", "不送"]
删除数组中后几位的元素:func removeLast(_ n: Int)
var array = ["你好","欢迎","慢走","不送"]array.removeLast(2)print(array)//["你好", "欢迎"]
删除数组中前几位的元素:func removeFirst(_ n: Int)
var array = ["你好","欢迎","慢走","不送"]array.removeFirst(2)print(array)// ["慢走", "不送"]
字典
字典的声明
键值对的键和值必须是显示声明声明完字典需要初始化字典的key值的类型必须是可以被哈希化的(基本数据类型和可被哈希化的类型)var dict1 = [1:1,2:2,3:3]var dict2:Dictionary<String,String> = [:]var dict3 = Dictionary<String,String>()var dict4 = [String:String]()
字典元素的访问和修改
var dict = ["key1":"iOS","Key2":"Android","key3":"Java","key4":"Html"]
字典元素的访问
print("\(dict["key1"])") //Optional("iOS")print("\(dict["key5"])") // nil
字典元素的修改
直接进行元素的修改dict["key5"] = "Swift"// 如果dict内存在key5的键值对,则修改原本的元素// 如果不存在则添加此键值对
通过updateValue(forKey:)进行修改,
dict.updateValue("jQuery", forKey: "key6")// 存在key6则修改,不存在则添加
通过removeValue(forKey: )删除特定键值对
dict.removeValue(forKey: "key6") //jQuery// 该方法返回值为该键值对的Value值
字典的遍历
遍历字典的键值对
var dict = ["key1":"iOS","Key2":"Android","key3":"Java","key4":"Html"]for (key,value) in dict {print("key:\(key),value:\(value)")}// key:key3,value:Java// key:key4,value:Html// key:Key2,value:Android// key:key1,value:iOS
遍历字典的键值
for key in dict.keys {print("key:\(key)")}// key:key3// key:key4// key:Key2// key:key1
遍历字典所有的值
for value in dict.values {print("value:\(value)")}// value:Java// value:Html// value:Android// value:iOS
如果觉得《Swift_学习笔记_字符串 数组 字典》对你有帮助,请点赞、收藏,并留下你的观点哦!