Swift学习笔记(一)·字符串

142 阅读2分钟

前瞻:

Swift为苹果在2014年WWDC苹果开发者大会上新发布的语言,截止现在已更新到5.3版本

Swift与OC在写法上的主要区别:

1.swift对于字符串、集合等不再区别定义可变与不可变,统一用let:表示常量、不可变;var表示变量、可变
2.swift在代码后缀可不添加;

3.swift在调用函数方法时放弃了[],转而使用点语法或者函数名()

言归正传,现在开始学习字符串

字符串:String

1.常用定义字符串:

 (1)`let string:String = "hello"` 或者 `let string = "hello"`

解析: let 代表该字符串为不可变字符串,类名可跟后缀":String",直接声明该类是字符串String,也可不后缀类名,系统会根据你赋值直接判断该类属于字符串

 (2)`var string:String = "hello"` 或者 `var string = "hello"`

解析:var 代表该字符串为可变字符串

 (3)`let string = String(format: "%@", "hello")`或者 `let str = "\(string) world"`

2.可变与不可变字符串通用的方法

(1)获取字符串长度:

  string.count

(2)判断字符串为空:

  string.isEmpty:(当字符串为nil时,调用该方法会崩溃,需要在判断为空的地方增加"||string == nil")

(3)截取字符串:

 1. let index1 = string.index(string.startIndex, offsetBy: 3)
    let str = string[index1] 代表获取下标为3的字符
 2. let str = string.prefix(2) 代表截取前两个字符串、
 3. let str = string.suffix(2) 代表截取后两个字符串、 
 4. let index1 = string.index(string.startIndex, offsetBy: 3)
    let str = string[string.startIndex..<index1] 代表截取前3个字符串
 5. let index1 = string.index(string.startIndex, offsetBy: 3)
    let index2 = string.index(string.startIndex, offsetBy: 6)
    let str = string[index1..<index2] 代表截取下标3-6的字符串

(4)判断两个字符串是否相同:

   str1 == str2

(5)遍历字符串(后面会详解遍历):

for index in string.indices {
    print(string[index])
 }

3.可变字符串独有方法

(1)删除字符串

  1. string.remove(at: 2) 代表删除下标为2的字符串
  2. let index1 = string.index(string.startIndex, offsetBy: 3)
     let index2 = string.index(string.startIndex, offsetBy: 6)
     string.removeSubrange(index1..<index2) 代表删除下标3-6的字符串

(2)插入字符串

1. string.insert(contentsOf: "world", at: string.endIndex) 代表字字符串末尾插入一段字符串
2. string.insert("3", at: string.endIndex) 代表在字符串末尾插入一个字符

(3)拼接字符串

string.append("world")或 string + "world" 代表拼接一个"world"字符串