最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Swift 字符串類型及常用方法詳解總結(jié)

 更新時(shí)間:2021年11月06日 13:51:06   作者:Lucky_William  
Swift 字符串是一系列字符的集合。例如 "Hello, World!" 這樣的有序的字符類型的值的集合,它的數(shù)據(jù)類型為 String,接下來文章將詳細(xì)探討

Swift 字符串類型及常用方法

1. 構(gòu)造

// 直接賦值
text = ""

// 1. 構(gòu)造方法
text = String() // ""
// 字符串構(gòu)造
text = String("William") // "William"
// 整型構(gòu)造
text = String(888) // "888"
// 浮點(diǎn)型構(gòu)造
text = String(8.88) // "8.88"
// 字符構(gòu)造
text = String("a") // "a"
// 布爾型構(gòu)造
text = String(true) // "true"
// 元組構(gòu)造
text = String(describing: (5, 5.0, true)) // "(5, 5.0, true)"
// 列表構(gòu)造
text = String(describing: [1, 2, 3, 4]) // "[1, 2, 3, 4]"
// 格式化字符串
text = String(format: "Hello, %@", "William") // "Hello, William"

2. 拼接

var text1 = "hello, "
var text2 = "William"
var result = text1 + text2
print(result) // hello, William

// 3. 在字符串中插入簡單值使用 \() ,類似于 Kotlin 中的 ${}
var target = "Hello, \(66)" // Hello, 66

var target2 = "Hello, \(text2)" // Hello, William

var target3 = "Hello, \(1 + 2)" // hellow, 3

3. 字符

var char : Character = "e" // "e"
var char2 = Character("e") // "e"
// 占用16個(gè)字節(jié)
var size = MemoryLayout<Character>.size // 16
// 字符數(shù)組
var array : [Character] = ["W", "i", "l", "l", "i", "a", "m"]
// 構(gòu)造String
var newStr = String(array) // William
// 遍歷字符串
let city = "Shanghai"
for cha in city {
    print(cha)
}

4. 轉(zhuǎn)義符

轉(zhuǎn)義字符常用于排版

// \0:表示空白符
// \\:表示反斜杠
// \t:表示制表符
// \n:表示換行符
// \r:表示回車符
// \':表示單引號
// \":表示雙引號
// \u{}:用Unicode碼創(chuàng)建字符
var code = "\u{0068}\u{0065}\u{006c}\u{006c}\u{006f}" // hello
var escapeChar = "空白符:\0反斜杠:\\制表符:\t換行符\n回車符:\r單引號:\'雙引號:\""
print(escapeChar)

5. 常用方法

// 字符串判空
var emptyStr = ""
if emptyStr.isEmpty {
    print("string is empty")
}
if emptyStr.count == 0 {
    print("string count is 0")
}

// 字符串判大小,會逐個(gè)比較字符大小
let str1 = "100a", str2 = "101a"
if (str1 < str2) {
    print("str1 < str2")
}
// 字符串判相等,會比較所有字符的位置都相等,才為相等的字符串
if (str1 == str2) {
    print("str1 < str2")
}

// 使用下標(biāo)訪問字符
var indexStr = "Hello, William"
// 獲取起始下標(biāo)
var startIndex: String.Index = indexStr.startIndex
var endIndex: String.Index = indexStr.endIndex
// 獲取某個(gè)下標(biāo)后一個(gè)下標(biāo)對應(yīng)的字符
var afterChar = indexStr[indexStr.index(after: startIndex)] // e
// 獲取某個(gè)下標(biāo)前一個(gè)下標(biāo)對應(yīng)的字符
var beforeChar = indexStr[indexStr.index(before: endIndex)] // m

// ... 運(yùn)算符指定范圍,從 startIndex 向后移動4位截取子串
var subStr = indexStr[startIndex...indexStr.index(startIndex, offsetBy: 4)] // hello
// 從endIndex 向前移動7位截取子串
var subStr2 = indexStr[indexStr.index(endIndex, offsetBy: -7)..<endIndex] // William

// 獲取范圍
var range = indexStr.range(of: "Hello")
// 追加字符串
indexStr.append(Character("."))
indexStr.append(" append string") // Hello, William. append string

// 插入單個(gè)字符到指定位置 Hello, William.# append string
indexStr.insert("#", at: indexStr.index(startIndex, offsetBy: 15))

// 插入一組字符 Hello, William.-#-# append string
indexStr.insert(contentsOf: ["-", "#", "-"], at: indexStr.index(startIndex, offsetBy: 15))

// 替換指定范圍的字符串 How are you.-#-# append string
indexStr.replaceSubrange(startIndex...indexStr.index(startIndex, offsetBy: 13), with: "How are you")

// 刪除指定位置的單個(gè)字符 How are you.-#-# append strin
indexStr.remove(at: indexStr.index(before: indexStr.endIndex))

// 刪除指定范圍 -#-# append strin
indexStr.removeSubrange(indexStr.startIndex...indexStr.index(indexStr.startIndex, offsetBy: 11))

// 刪除所有字符 ""
indexStr.removeAll()

// 轉(zhuǎn)換大小寫
var uppercase = "hello, swift".uppercased() // HELLO, SWIFT
var lowercase = "HELLO, SWIFT".lowercased() // hello, swift

// 檢查前后綴
var hasPrefix = uppercase.hasPrefix("he") // false
var hasSuffix = lowercase.hasSuffix("ft") // true

GitHub 源碼:StringType.playground

到此這篇關(guān)于Swift 字符串類型及常用方法詳解總結(jié)的文章就介紹到這了,更多相關(guān)Swift 字符串 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Swift算法之二叉樹實(shí)現(xiàn)的方法示例

    Swift算法之二叉樹實(shí)現(xiàn)的方法示例

    二叉樹是計(jì)算機(jī)科學(xué)中最基本也是最重要的樹型結(jié)構(gòu),最常見的二叉樹生成算法通常是使用遞歸或者其他描述類語言的方法來實(shí)現(xiàn)。本文主要介紹了Swift算法之二叉樹實(shí)現(xiàn)的方法,文中介紹的非常詳細(xì),對大家具有一定的參考價(jià)值,需要的朋友們下面來一起看看吧。
    2017-03-03
  • Swift縮放并填充圖片功能的實(shí)現(xiàn)

    Swift縮放并填充圖片功能的實(shí)現(xiàn)

    最近有一個(gè)需求,就是將圖片先等比例縮放到指定大小,然后將空余出來空間填充為黑色,返回指定大小的圖片。本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2021-11-11
  • Swift初始化器與可選鏈的使用方法介紹

    Swift初始化器與可選鏈的使用方法介紹

    初始化器初始化是準(zhǔn)備類、結(jié)構(gòu)或枚舉的實(shí)例以供使用的過程。此過程涉及為該實(shí)例上的每個(gè)存儲屬性設(shè)置初始值,并執(zhí)行在新實(shí)例準(zhǔn)備就緒可供使用之前所需的任何其他設(shè)置或初始化,可選鏈?zhǔn)且环N可以請求和調(diào)用屬性、方法和子腳本的過程,用于請求或調(diào)用的目標(biāo)可能為nil
    2022-08-08
  • 用SwiftUI實(shí)現(xiàn)3D Scroll滾動效果的實(shí)現(xiàn)代碼

    用SwiftUI實(shí)現(xiàn)3D Scroll滾動效果的實(shí)現(xiàn)代碼

    這篇文章主要介紹了用SwiftUI實(shí)現(xiàn)3D Scroll效果的實(shí)現(xiàn)代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)
    2020-04-04
  • swift中defer的實(shí)際應(yīng)用小結(jié)

    swift中defer的實(shí)際應(yīng)用小結(jié)

    這篇文章主要給大家介紹了關(guān)于swift中defer的實(shí)際應(yīng)用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • Swift數(shù)組詳細(xì)用法解析

    Swift數(shù)組詳細(xì)用法解析

    這篇文章主要為大家詳細(xì)介紹了Swift數(shù)組詳細(xì)用法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • 深入解析Swift編程中的構(gòu)造方法

    深入解析Swift編程中的構(gòu)造方法

    先進(jìn)的Swfit語言同樣具有構(gòu)造方法,構(gòu)造方法在對象被創(chuàng)建后會首先被調(diào)用,這里我們就來深入解析Swift編程中的構(gòu)造方法:
    2016-07-07
  • Swift實(shí)現(xiàn)快速排序算法的代碼示例

    Swift實(shí)現(xiàn)快速排序算法的代碼示例

    這篇文章主要介紹了Swift實(shí)現(xiàn)快速排序算法的代碼示例,首先利用分治法講解了快速排序的思路,需要的朋友可以參考下
    2016-07-07
  • swift?framework使用OC?代碼兩種方式示例

    swift?framework使用OC?代碼兩種方式示例

    這篇文章主要為大家介紹了swift?framework使用OC?代碼兩種方式示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • 如何在Swift?中使用?async?let?并發(fā)運(yùn)行后臺任務(wù)

    如何在Swift?中使用?async?let?并發(fā)運(yùn)行后臺任務(wù)

    Swift?異步編程是一種編寫允許某些任務(wù)并發(fā)運(yùn)行而不是按順序運(yùn)行的代碼的方法,這篇文章主要介紹了在Swift中使用async?let并發(fā)運(yùn)行后臺任務(wù),需要的朋友可以參考下
    2023-06-06

最新評論

乳源| 常宁市| 科尔| 清丰县| 郸城县| 楚雄市| 永德县| 临武县| 石家庄市| 兴仁县| 托里县| 中山市| 昌宁县| 麻城市| 沂水县| 赣榆县| 都匀市| 沙雅县| 双牌县| 博客| 金山区| 通城县| 萨嘎县| 大悟县| 洪江市| 壤塘县| 南部县| 余庆县| 琼结县| 嵩明县| 松潘县| 河源市| 瑞昌市| 乐昌市| 诏安县| 佛冈县| 绥阳县| 泗阳县| 游戏| 化隆| 美姑县|