Swift -2 字符串与集合

原创 2015年11月19日 11:01:46

字符

1.单个字符来指定字符常量,如”A”,”9”
2.转义字符表示特殊字符常量,如”\n”,”\t”
3.使用\u{n}的Unicode形式,n代表一个1~8为的十六进制数
4.必须使用双引号括起来
5.Swift中的每一个字符代表了一个可扩展字母集

var s: Character = "美"
var quote1 = "\'" // 通过转义字符创建的字符是单引号
var quote2 = "\u{22}" // 通过Unicode创建的是双引号
//print(s)
//print("quote1的值为:\(quote1), quote2的值为:\(quote2)")

// 使用Unicode形式定义4个字符
var diamond: Character = "\u{2666}"
var heart: Character = "\u{2663}"
var club: Character = "\u{2665}"
var spade: Character = "\u{2660}"
//print("\(diamond), \(heart), \(club), \(spade)")

字符串(重点)

1.字符串的创建
2.字符串基本操作

// 1.创建
var str1 = "苹果"
// 使用构造器来
var str2 = String() // 初始化字符串实例
// 创建多个重复字符的字符串,需要指明字符的类型
var str3 = String(count: 4, repeatedValue: Character("a"))
var strRep = String(count: 5, repeatedValue: UnicodeScalar("��")) // ��表情为Unicode编码1F436
//print(strRep)
//print(str3)
//print(str3.isEmpty) // 判断字符串是否为空

// 2.字符串基本操作
var str4 = str1 + "公司" // 用 + 进行拼接,比OC方便多了
str1 += "你好" // 用 += 将字符串拼接到自身
//print(str1)
let char: Character = "!"
str1.append(char)
//print(str1)

// 在swift2.0中,countElements方法被移除,可以直接按照下面方法点出字符串的长度
var length = str3.characters.count
//print("str3 has \(length) characters")

// Swift中的字符串是否可以修改仅通过定义的是变量还是常量来决定
// 字符串比较
let quotation = "我们是一样一样滴"
let sameQuotation = "我们是一样一样滴"
if quotation == sameQuotation {

//    print("这两个字符串被认为是相同的")
}

// 检查字符串是否拥有特定前缀/后缀,两个方法均需要以字符串作为参数传入并传出Boolean值
var food = ["Fruits: apple",
    "Fruits: orange",
    "Fruits: banana",
    "Vegetables: tomato",
    "Vegetables: potato"
]
for fru in food {
    if fru.hasPrefix("Fruits"){
//        print(fru)
    }
    if fru.hasSuffix("o"){
//        print(fru)
    }
}

数组(重点)

1.数组创建
2.访问和修改数组

/*声明数组写法:
    第一种:Array<someType>, 如Array<Int>
    第二种:[SomeType], 如[String]
*/
// 第一种
var myArr = Array<String>() // 创建空数组,并赋值给myArr变量
var num = Array<Int>(count: 3, repeatedValue: 1)
//print(num)

// 第二种
var arr: [Int] = [1, 2, 3]

// 使用构造语法来创建一个由特定数据类型构成的空数组
var sonmeInts = [Int]()

var threeDoubles = [Double](count: 3, repeatedValue: 0.0)
//print(threeDoubles)

var food1 = ["apple", "orange", "banana", "tomato", "potato"] // 用的最多
//print(food1[3]) // 取数组下标
//print(food1.count) // 取数量

var shoppingList = ["Eggs", 123, true]
for item in shoppingList{
//    print(item)
}

for fruit in food1{
//    print(fruit)
}

// 数组可变性
// 1.append() 方法在数组尾部添加新元素
food1.append("Vegetables: mushroom")
//print(food1)
// 2.通过加法添加新元素
food1 += ["pineapple", "pitaya"]
//print(food1)

food1[0...2] = ["a", "b"] // 替换元素
//print(food1)

// 3.不能使用下标语法在数组尾部添加新项,调用insert(atIndex:)方法来在某个具体索引值前添加数据项
food1.insert("Meat", atIndex: 0)
//print(food1)

// 使用removeAtIndex方法来移除数组中的某一项
food1.removeAtIndex(0)
//print(food1)
// 把数组中的最后一项移除,可以使用removeLast方法
food1.removeLast()
//print(food1)
// 删除所有元素,参数是否保留数据缓冲,默认是false
food1.removeAll(keepCapacity: false)
//print(food1)

字典(重点)

1.字典的声明和创建
2.字典的使用

/*
    Dictionary<keyType, valueType>
    [keyType: valueType]
*/

// 声明字典
var dic1: Dictionary<String, String>

var scores: [String: Int]

// 创建字典
dic1 = Dictionary<String, String>()

scores = Dictionary<String, Int>(minimumCapacity: 5) // 最小容量为5

var emptyDic: [String: Double] = [:] // 空字典,冒号不可少
//print(emptyDic.isEmpty)

// 通过常量或者变量决定字典是否可变
var person = ["age": "18",
              "name": "Tom",
              "身高": "178"]
//print(person["age"])
//print(person["weight"]) // 不存在key,返回nil
person["name"] = "jack" // 可以直接对key改值
person["weight"] = "90" // 对不存在的key设置value,字典将会添加key-value对
//print(person)
var height: String? = person["身高"] // 如果类型不匹配就会报错
if height != nil{
//    print(height!) // 这里带!是强制解析
}

// updateValue(forkey:)方法在这个键不存在对应值的时候,设置值或者在存在时更新已存在的值,这个方法返回更新值之前的原值
if let oldName = person.updateValue("Lucy", forKey: "name"){
//    print("原来的值是:\(oldName)")
}
//print(person)

for (key, value) in person{
//    print("\(key): \(value)")
}

// removeValueForKey方法也可以用来在字典中移除键值对
//person.removeValueForKey("name")
//print(person)

//person.removeAll(keepCapacity: false) // 移除所有
//print(person)

let keysArr = [String](person.keys) // 取出所有key
let valuesArr = [String](person.values) // 取出所有value
//print(keysArr)
//print(valuesArr)

下一节:Swift中的函数和闭包

版权声明:本文为博主原创文章,未经博主允许不得转载。

Swift学习笔记第三篇(字符串,数组,集合,字典)

字符串String1.声明// 空字符串 let emptyString = "" let anatherString = String() if emptyString.isEmpty { ...
  • Deft_MKJing
  • Deft_MKJing
  • 2017年06月13日 17:43
  • 355

Swift - 集合类型

简介 Swift 语言提供Arrays、Sets和Dictionaries三种基本的集合类型用来存储集合数据。数组是有序数据的集;集合是无序无重复数据的集;字典是无序的键值对的集。 Swift...
  • Hierarch_Lee
  • Hierarch_Lee
  • 2015年08月31日 08:43
  • 947

Swift 3.0-集合

// //  main.swift //  Swift-集合 // //  Created by yidong on 16/9/28. //  Copyright © 2016年 东哥. All ri...
  • A422201199012077717
  • A422201199012077717
  • 2016年09月28日 17:14
  • 728

Swift3-集合类型

一、引言Swift中提供了3种集合类型,Array数据类型,Set集合类型,Dictionary字典类型。 Array用于存放一组有序的数据,数据角标从0开始一次递增; Set用于存放一组...
  • shenhaifeiniao
  • shenhaifeiniao
  • 2017年03月03日 16:13
  • 492

Swift学习笔记-判断字符出现的次数

/** 判断字符出现的次数 */ let str = "asfkj294sjdkflskadjw8tghjhf8t8as" //定义一个...
  • JangJun521
  • JangJun521
  • 2015年05月31日 07:51
  • 310

Swift中的集合类型

一.引子:         在TIOBE编程语言排行榜中,Swift位居第18位,从2014WWDC发布会首次公布至今不到半年时间,swift一直受到编程人员的追捧,其热衷程度并不亚于当红巨星Tayl...
  • czjuttsw
  • czjuttsw
  • 2014年10月06日 20:15
  • 5213

swift Set(集合)

//创建集合                 //通过构造器语法创建一个特定类型的空集合;         var set = SetString>()         print...
  • sevenquan
  • sevenquan
  • 2016年01月19日 18:35
  • 870

Swift 字符串+集合(三)

Strings and Characters 字符串和字符 String Literals 字符串字面量 用于为常量或变量提供初始值,可包含以下特殊字符 转义字符\0(空)、\\(反斜线...
  • huangchentao
  • huangchentao
  • 2014年06月12日 17:03
  • 2435

Swift 字符串比较/判断

Swift3.0语言教程比较、判断字符串 Swift3.0语言教程比较、判断字符串,在一个程序中字符串很多时,常常会做的操作就是对这些字符串进行比较和判断。本小节将讲解这些内容。 1.不区分大小写...
  • bitcser
  • bitcser
  • 2017年02月21日 13:09
  • 936

Swift中获取字符串子串

OC中获取子串 NSString *string = @"hello"; NSString *subStr = [string substringToIndex:1]; 在OC中这样我们就能获取想...
  • gooddamn110
  • gooddamn110
  • 2015年11月06日 17:05
  • 234
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Swift -2 字符串与集合
举报原因:
原因补充:

(最多只允许输入30个字)