Swift-字符串的处理

一、字符串的声明

        //声明一个空字符串
        let emptystring = ""
        //定义变量类型为String
        let str: String = "Hello Word!"
        //未定义变量类型,在swift中会根据值推测变量的类型为String
        let str1 = "Hello World"    

二、判断字符串是否为空

        //判断字符串是否为空,若为空则为true,否则为false
        let isEmpty : Bool = str.isEmpty
        print("emptystring = \(emptystring) str = \(str) str1 = \(str1) isEmpty = \(isEmpty)")
        //判断字符串是否为空,在定义变量类型时允许变量为空,则可以使用 xx == nil 的方式来判断
        var str2: String?
        if str2 == nil {
            print("str2 为空")
        } else {
            print("str2 不为空")
        }    

三、字符串的截取

         let str = "Hello World"
//        str = str + " " + str
        //1、遍历字符串的所有字符
        for c in str {
            print("ns1 = \(c)");
        }
        //2、字符串的长度
        let stringLength = str.count
        print("字符串的长度 = \(stringLength)")
        
        //3、截取方法
        //        1)从某个位置开始截取
        let indexStartOfText = str.index(str.startIndex, offsetBy: 3)
        let substring1 = str[indexStartOfText...]
        print("substring1 = \(substring1)")
//        2)截取到某个位置
        let indexEndOfText = str.index(str.endIndex, offsetBy: -2)
        let subSting2 = str[...indexEndOfText]
        print("subString2 = \(subSting2)")
        
//        3)从某个位置截取到某个位置
        let indexStart = str.index(str.startIndex, offsetBy: 3)
        let indexEnd = str.index(str.endIndex, offsetBy: -4)
        let subSting3 = str[indexStart..<indexEnd]
        print("subString3 = \(subSting3)")
        
        //在最后把截取得到的字符串需要转换回String
        let subString4 = String(subSting2)
        print("subString4 = \(subString4)")
        
        
//        另一种截取方式
//        截取到某个位置
        let indexStartNew = str.index(str.endIndex, offsetBy: -3)
        let subString5 = str.prefix(through: indexStartNew)
        print("subString5 = \(String(subString5))")
        
        let sufixString = str.prefix(upTo: indexStartNew)
        print("sufixString = \(sufixString)")
        
//        从某个位置开始截取
        let subString6 = str.suffix(from: indexStartNew)
        print("subString6 = \(String(subString6))")    

四、字符串的拼接

         //字符串的连接主要有两种方式: 一种是直接在字符串后面添加字符串,另一种是将字符串数组拼接成一个字符串
//        方式一
        let str = "Hello"
        let str2 = "world"
        let str3 = str + str2//利用+直接将字符串拼接在一起,比较直接
        print("str3 = \(str3)")
//        方式二
        let array11: [String] = ["aaa","bbb", "ccc"]
        //将数组中的元素拼接成字符串
        let arrayStr : String! = array11.joined(separator: ",")
         print("arrayStr = \(arrayStr!)")