Swift 學習筆記 字符串和字符

參考書
The Swift Programming Language
The Swift Programming Language 中文版
軟件版本
OS X Yosemite 10.10.3
Xcode 6.3.2
Swift 1.2
標簽
Swift 編程學習筆記

字符串和字符(Strings and Characters)


字符串字面量(String Literals)


  1. 特殊字符
    1.1 空字符:\0
    1.2反斜杠:\
    1.3 水平制表符:\t
    1.4 換行符:\n
    1.5 回車符:\r
    1.6 雙引號:"
    1.7 單引號:'
    1.8 Unicode標量:\u{n},n為任意的一到八位十六進制數
println("\0")
println("\\")
println("\t")
println("a\n")
println("a\r")
println("\"")
println("\'")
println("\u{1F496}") //1F496,即一個十六進制數
代碼示例

初始化空字符串(Initializing an Empty String)


  1. 給變量附上空值
var emptyString = ""
  1. 初始化一個String實例
var anotherEmptyString = String()
  1. String類中,有isEmpty屬性,可以判斷字符串是否為空,isEmptyBoolean類型

字符串可變性(String Mutability)


字符串是值類型(Strings Are Value Types)


使用字符(Working with Characters)


  1. 聲明時標注一個Character類型,可以建立一個獨立的字符常量或者變量
let yenSign:Character = "¥"

計算字符數量(Counting Characters)


1.調用全局count() 函數

let unusualMenagerie = "Koala ??, Snail ??, Penguin ??, Dromedary ??"
println("unusualMenagerie has \(count(unusualMenagerie)) characters")
計算 unusualMenagerie 中的字符數量

連接字符串和字符(Concatenating Strings and Characters)


  1. +運算對字符串進行拼接
let string1 = "Hello"
let string2 = " there"
var welcome = string1 + string2
  1. +=將一個字符串添加到一個已經存在的字符串變量上
var instruction = "look over"
instruction += string2
  1. append()方法將一個字符添加到字符串變量的尾部
let exclamationMark:Character = "!"
welcome.append(exclamationMark)

比較字符串(Comparing Strings)


  1. 字符串相等,==直接判斷
let quotation = "我們是一樣一樣滴."
let sameQuotation = "我們是一樣一樣滴."
if quotation == sameQuotation {
    println("這兩個字符串被認為是相同的")
}
  1. 前綴/后綴相等,調用字符串的hasPrefix()或者hasSuffix()方法
let romeoAndJuliet = [
    "Act 1 Scene 1: Verona, A public place",
    "Act 1 Scene 2: Capulet's mansion",
    "Act 1 Scene 3: A room in Capulet's mansion",
    "Act 1 Scene 4: A street outside Capulet's mansion",
    "Act 1 Scene 5: The Great Hall in Capulet's mansion",
    "Act 2 Scene 1: Outside Capulet's mansion",
    "Act 2 Scene 2: Capulet's orchard",
    "Act 2 Scene 3: Outside Friar Lawrence's cell",
    "Act 2 Scene 4: A street in Verona",
    "Act 2 Scene 5: Capulet's mansion",
    "Act 2 Scene 6: Friar Lawrence's cell"
]
var act1SceneCount = 0
for scene in romeoAndJuliet {
    if scene.hasPrefix("Act 1 ") {
        ++act1SceneCount
    }
}
println("There are \(act1SceneCount) scenes in Act 1")
var mansionCount = 0
var cellCount = 0
for scene in romeoAndJuliet {
    if scene.hasSuffix("Capulet's mansion") {
        ++mansionCount
    } else if scene.hasSuffix("Friar Lawrence's cell") {
        ++cellCount
    }
}

大寫和小寫字符串(Uppercase and Lowercase Strings)


  1. 調用字符串的uppercaseString或者lowercaseString屬性實現
import Foundation
let normal = "Could you help me, please?"
let shouty = normal.uppercaseString
let whispered = normal.lowercaseString

Unicode

Unicode 中每一個字符都可以被解釋為一個或多個 unicode 標量。 字符的 unicode 標量是一個唯一的21位數字(和名稱),例如U+0061表示小寫的拉丁字母A ("a"),U+1F425表示小雞表情 ("??")

Swift能夠以三種(?)Unicode兼容的方式訪問字符串的值:

  1. UTF-8
for codeUnit in dogString.utf8 {
    print("\(codeUnit) ")
}
print("\n")
  1. UTF-16
for codeUnit in dogString.utf16 {
    print("\(codeUnit) ")
}
print("\n")
// 68 111 103 33 55357 56374
  1. Unicode 標量 (Unicode Scalars)
for scalar in dogString.unicodeScalars {
    print("\(scalar.value) ")
}
print("\n")
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容