麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

[swift]4.0原生字符串

2019-11-06 07:45:41
字體:
來源:轉載
供稿:網友

4.1字符 1.格式: 變量關鍵字和常量關鍵字 變量 : Character = 字符值。 注意點:字符值 必須用雙引號括起來, 必須是一個字符。 例: var ch :Character = “c”// 字符值 必須用雙引號,并且是一個字符 PRintln(“ch=(ch)”) 運行結果 ch=c 2.字符串和字符的關系: 字符串是由N個字符組成的,即字符串是字符的集合。 例: var str = “ABC”//字符串 “ABC” 是有 三個字符組成的分別是 :字符”A”,字符“B”,字符”C” 4.2創建字符串 1.Swift支持String字符串類型和Charater字符類型來提供一個快速的、支持Unicode編碼的方式來處理字符操作。 Swift的String類型和Objective-C的NSString無縫接合,所有NSString的API對String同樣適用。但是String變量總是可變長的,而在Objective-C中變長字符串是NSMutableString。 2.Swift字符串是傳值類型,在傳入函數參數或者賦值時,它是新建一個原來字符串的拷貝,而不是分配一個指針,新建字符串和原來的字符串并不儲存在同一個空間。區別于Objective-C中NSString,后者是傳址類型,即相當于一個指針。 Character字符類型同樣用雙引號把字符括起來,每一個字符代表一個獨立的Unicode字符,字符串相當于Character的一個集合。 字符串和字符之間可以兩兩連接,使用最簡單的運算符 +,+=同樣適用。 3.創建空字符串 /定義一個空字符串第一種方法: var str1=”“定義一個空字符串 第二種方法: var str2 = String() 運行結果 str1= str2= 4.判斷字符串是否為空 (isEmpty) 判斷字符串是否為空: var str3:String = “”if str3.isEmpty { //isEmpty是字符串的一個屬性,判斷字符串是否為空 println(“str3的值是空”) } else{ println(“str3的值不為空”) }

運行結果 str3的值是空 5.字符串的轉義符 /0 空字符 / 反斜杠/ t 制表符/n 換行符/r 回車符 /” 雙引號/’ 單引號 例: 換行符: var strA = “Hello World /n 1”// /n是換行符 println(“strA=(strA)”) 引號: var strB = “/”雙引號”// /” 是代表雙引號 println(“strB=(strB)”) 單引號: var strC = “/’單引號”// /’ 代表單引號 println(“strC=(strC)”) 運行結果 strA=Hello World 1 strB=”雙引號 strC=’單引號 4.3字符串拼接 1.字符和字符串拼接,用+直接來拼接,組成新的字符串 (和字符串拼接用法一直) 例:import Foundation var C:Character = “S”//定義C 是字符變量var str = C + ” hello” println(str ) 運行結果 S hello 2.字符串變量和常量用+或 +=來拼接 組成新的字符串 例: 多個字符串變量拼接 用 + 來拼接 var str4 = “hello” var str5 = ” swift” var str6 = str4+str5 //字符串變量拼接 println(“str6=(str6)”) 字符串變量和常量用+或 +=來拼接 var str7=”hello ” str7 += “swift”//字符串變量和字符常量拼接可以用+= 拼接 println(“str7=(str7)”) 運行結果 str6=hello swift str7=hello swift 4.字符串和占位變量 組成新的字符串 var a = 3//定義一個整形變量 var strQ = “a = (a)”// 字符串和占外變量,組成新的變量(占外變量表示(變量)) println(“(strQ)”) 運行結果 a = 3 4.4字符串插入、刪除和替換 1.對應可變字符串可以插入、刪除和替換,String提供了幾個方法可以幫助實現這些操作。這些方法如下: splice(_:atIndex:)。在索引位置插入字符串。 insert(_:atIndex:)。在索引位置插入字符。 removeAtIndex(_:)。在索引位置刪除字符。 removeRange(_:)。刪除指定范圍內的字符串。 replaceRange(_:,with: String) 。使用字符串或字符替換指定范圍內的字符串。   代碼: var str =”Swift” print(“原始字符串:(str)”) str.splice(“Objective-Cand “.characters, atIndex: str.startIndex) str.insert(“.”,atIndex: str.endIndex) str.removeAtIndex(str.endIndex.predecessor()) var startIndex =str.startIndex var range =startIndex…endIndex str.removeRange(range) startIndex =str.startIndex str.replaceRange(range,with: “C++”) print(“替換范圍后:(str)”) 輸出結果: 原始字符串:Swift 插入字符串后:Objective-C and Swift 插入.字符后:Objective-Cand Swift. 刪除.字符后:Objective-Cand Swift 刪除范圍后:C and Swift 替換范圍后:C++ and Swift 4.5字符串比較 1.字符串比較:OC: NSString *str1 = @”abc”; NSString *str2 = @”abc”; if ([str1 compare:str2] == NSOrderedSame) else { NSLog(@”不相等”); } { NSLog(@”相等”); } else { NSLog(@”不相等”); } Swift:(== / != / >= / <=), 和C語言的strcmp一樣是逐個比較 var str4 = “abc”; var str5 = “abc”; if str4 == str5 { print(“相等”); } else { print(“不相等”); } var str6 = “abd”; var str7 = “abc”; else { print(“不大于等于”); } 4.6大小和相等比較 字符串比較可以分為:不區分大小寫比較、區分大小寫比較以及本地化比較三部分。首先我們來看不區分大小寫比較,不區分大小寫比較顧名思義就是不區分字符串中字母的大小寫,即A和a相同。 1.不區分大小寫比較 在NSString中使用caseInsensitiveCompare(_:)方法實現這一功能,其語法形式如下: func caseInsensitiveCompare(_ string: String) -> ComparisonResult 其中,string用來指定一個比較的字符串。該方法的返回值為ComparisonResult類型 。ComparisonResult是一個枚舉類型,包含了以下3個成員: q orderedAscending(-1):左操作數小于右操作數。 q orderedSame(0):兩個操作數相等。 q orderedDescending(1):左操作數大于右操作數。 2.區分大小寫比較 有不區分大小寫比較,相對的就有區分大小寫比較。在NSString中提供了4種方法實現了這種比較, 分別為:compare(:)、compare(:options:)、compare(:options:range:)和compare(:options:range:locale:)方法。 (1)compare(_:)方法就是用來比較字符串的,它需要區分字符串的大小寫,其語法形式如下: func compare(_ string: String) -> ComparisonResult 其中,string用來指定一個比較的字符串。 compare(:options:)方法和compare(:)方法實現的功能類似,它是對字符串進行比較,但是它比compare(_:)方法多了一個mask參數。該參數可以用來指定一個選項標記(這個標記可以作為字符串比較的條件)。 在編程中,mask參數最常被設置為以下5種: q caseInsensitive:不區分大小寫比較 q literal:區分大小寫比較 q backwards:從字符串末尾開始搜索 q anchored:搜索限制范圍的字符串 q numeric:按照字符串里的數字為依據,算出順序。例如 Foo2.txt < Foo7.txt < Foo25.txt compare(_:options:)方法的語法形式如下: func compare(_ string: String, options mask: NSString.CompareOptions = []) -> ComparisonResul (3)compare(:options:range:)方法和compare(:options:)方法的功能類似,但是它比compare(_:options:)方法多了一個rangeOfReceiverToCompare參數,此參數可以用來對比較范圍進行設置。其語法形式如下: func compare(_ string: String, options mask: NSString.CompareOptions = [], range rangeOfReceiverToCompare: NSRange) -> ComparisonResult (4)compare(:options:range:locale:)方法和compare(:options:range:)方法的功能類似,但是它比compare(_:options:range:)方法多了一個locale參數,此參數可以用來設置語言環境。其語法形式如下: func compare(_ string: String, options mask: NSString.CompareOptions = [], range rangeOfReceiverToCompare: NSRange, locale: AnyObject?) -> ComparisonResult 3.本地化比較 對于本地化比較在NSString中提供了3種方法, 分別為: localizedCaseInsensitiveCompare(:)、localizedStandardCompare(:)和localizedCompare(_:)。 (1)localizedCaseInsensitiveCompare(_:)方法為不區分大小寫、本地化比較字符串,其語法形式如下: func localizedCompare(_ string: String) -> ComparisonResult 其中,string用來指定一個比較的字符串。 (2)localizedStandardCompare(_:)方法為本地化標準字符串的比較,其語法形式如下: func localizedStandardCompare(_ string: String) -> ComparisonResult 其中,string用來指定一個比較的字符串。 localizedCompare(_:)方法是區分大小寫、本地化比較字符串,其語法形式如下: func localizedCompare(_ string: String) -> ComparisonResult 其中,string用來指定一個比較的字符串。 4.判斷字符串 在NSString中提供了3種對字符串判斷的方法, 分別為:hasprefix(:)、hasSuffix(:)和isEqual(to:)方法。 (1)hasPrefix(_:)方法用來判斷字符串是否以某一指定字符串開頭,其語法形式如下: func hasPrefix(_ str: String) -> Bool 其中,str用來指定一個字符串。 (2)hasSuffix(:)方法正好和hasPrefix(:)方法相反,它是用來判斷字符串是否以某一指定字符串結尾的,其語法形式如下: func hasSuffix(_ str: String) -> Bool 其中,str用來指定一個字符串。 (3)isEqual(to:)方法是用來判斷字符串是否相等的,其語法形式如下: func isEqual(to aString: String) -> Bool 其中,aString用來指定字符串。 4.7前綴和后綴比較 1.前綴/后綴相等 通過調用字符串的 hasPrefix/hasSuffix 方法來檢查字符串是否擁有特定前綴/后綴。兩個方法均需要以字符串作為參數傳入并傳出 Boolean 值。兩個方法均執行基本字符串和前綴/后綴字符串之間逐個字符的比較操作。 下面的例子以一個字符串數組表示莎士比亞話劇 羅密歐與朱麗葉 中前兩場的場景位置: 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” ]


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 亚洲一区二区不卡视频 | 国产精品视频在 | 日本成人一二三区 | 久久国产精品二国产精品中国洋人 | av免费不卡国产观看 | 亚洲成人综合网站 | 久久综合av| 亚洲一区二区观看播放 | 久久久三区 | 欧美日日操 | 免费中文视频 | 久久久久九九九女人毛片 | 性欧美暴力猛交69hd | 999精品久久久 | 看国产一级毛片 | 狠狠操天天射 | 综合精品视频 | 日本不卡二区 | 国产成人在线观看免费 | 日本成人二区 | 中文字幕精品一区久久久久 | 久久久久久久久久久久久久久伊免 | 一级成人免费 | 黄视频免费在线观看 | 成人国产精品一区 | 久久精品av | av日韩一区二区 | 内地av在线 | 色偷偷欧美 | 黄网站免费在线看 | chinese军人gay呻吟 | 欧美综合日韩 | 2023av在线视频 | 成人在线视频在线观看 | 免费欧美一级视频 | 曰韩一级片 | av电影在线观看免费 | 欧美高清另类自拍视频在线看 | 亚洲福利视频52 | 国产一区日韩精品 | 天天操综 |