Swift_学习笔记_字符串、数组、字典
来源:互联网 发布:免费tk域名申请 编辑:程序博客网 时间:2024/05/17 01:32
字符串
转义字符
- \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) -> Element
var 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
阅读全文
0 0
- Swift_学习笔记_字符串、数组、字典
- Swift_学习笔记_基础知识
- Swift_学习笔记_类
- Swift_学习笔记_继承
- Swift_学习笔记_协议
- Swift_学习笔记_泛型
- Swift_学习笔记_自动引用计数
- Swift_学习笔记_类型转换
- Swift_学习笔记_运算符重载
- Swift_学习笔记_闭包
- Swift_学习笔记_调用ObjectiveC方法
- Swift_学习笔记_控制语句和函数
- Swift_学习笔记_枚举和结构体
- 数组 字典 字符串 笔记
- Swift_字典
- Swift学习笔记第三篇(字符串,数组,集合,字典)
- Swift_数组
- Swift_字符串
- leetcode 647. Palindromic Substrings
- 使用PowerDesigner创建Mysql表的问题
- 20170807
- Web开发中文乱码问题汇总
- HelloWorld
- Swift_学习笔记_字符串、数组、字典
- Tomcat服务启动项目页面乱码
- Git+IDEA 克隆项目时出现:Clone failed: Could not read from remote repository.
- hdu1754 IHateIt (线段树点更新,区间查询)
- CSU-ACM2017暑假集训比赛3D
- HTML5_制作点名器-math-date-计时器
- HTML中列表标签dl dt dd语法结构与使用(类似 ul,ol标签)
- 通过tomcat-user.xml配置tomcat中 manager app的用户名和密码
- android app签名后阿里云OSS上传失败问题 Compute signature failed