Swift字符串操作

今天由于时间充足,所以多学了一点,嘻嘻

好吧,废话也不多说了,我把能说的都留着了code的注释中,所以,如下所述就好了

1.我们从创建字符串开始吧


        var strOne = "Hello Swift!";
        //or
        var  strTwo : String = "Hello Swift!";
        
        println("\(strOne)====\(strTwo)"); //Hello Swift!====Hello Swift!
        
        //so,那么怎么定义一个空字符串呢?
        //eg:
        var strThree = "";//空字符串定义方式,此方式很熟悉吧
        var strFour = String();//这是第二种定义空字符串的方式
        
        //Ok,那么如何判断字符串是否为空呢?
        //或者会有OC的isEqualToString比较,或者会有Android的 equals 以及TextUtils.isEmpty(Str),先不管这些了,看Swift怎样判断
        //eg:
        if strThree.isEmpty {
            println("strThree是一个空字符串"); //输出这个
        }else{
            println("strThree不是一个空字符串");
        }
        
        if(strFour.isEmpty){
            println("strFour是一个空字符串");  //输出这个
        }else{
            println("strFour不是一个空字符串");
        }
        
        /*综上:也许大家觉得奇怪,其实也没有什么可奇怪滴,嘻嘻
          isEmpty是字符串的一个属性,判断字符串是否为空
          然后就是if后面的没有()的判断,如上,这两种方式都是行得通的,根据自己的习惯和喜欢来做决定吧
        */
上述说明了创建一个字符串有哪几种方式,并且说明了怎么创建一个空的字符串,并进行了判断

那么我们接着看

2.字符串中的转义字符

因为字符串的操作很普遍,而字符串中呢,也会出现很多""/ ' 等等字符,所以,让我们研究一下转义字符吧,嘻嘻

 //转义字符倒是没有变化,如下:
       /* 
        \0  空字符
        \\   反斜杠
        \t   制表符
        \n   换行符
        \r    回车符
        \”  双引号
        \’  单引号*/
        //是否觉得很是熟悉?话不多说啦,继续我们
        //eg:
        var  strA = "Hello Swift! \n  I LIKE YOU!"// \n是换行符
        println("strA=\(strA)") /*strA=Hello Swift!
        I LIKE YOU!*/
        
        var  strB = "\"双引号" // \" 是代表双引号
        println("strB=\(strB)") //strB="双引号
        
        var  strC = "\'单引号"// \' 代表单引号
        println("strC=\(strC)") //strC='单引号
        /*
        其他的转义字符都一样使用,这里就不一一列举了
        */

转义字符会用了,那么我们再来看看字符串的拼接,这下我们可以看到不一样的拼接了,会很开心吧

3.字符串的拼接

 /*
          是不是不喜欢OC的那套拼接方式呢?非要[NSString stringWithFormat:...]这类似的去拼接,
          是不是很喜欢Android(java语言)的'+','+='等等拼接呢?
          那么swift又如何呢?我们拭目以待.
        */
        //eg:
        var strD = "Hello ->";
        var strE = strD + " Swift !";
        
        var strF = "I LIKE YOU!";
            strF += "->❤️Swift";
        
        var strG = "\(strE) -> ❤️❤️❤️";
        
        println("\(strE)"); //Hello -> Swift !
        println("strF===="+strF);   //strF====I LIKE YOU!->❤️Swift
        println("strG====\(strG)");     //strG====Hello -> Swift ! -> ❤️❤️❤️
        /*
        有木有发现很厉害的样子呢?嘻嘻...
        确实蛮厉害滴哟,'+'/'+='等等已经可以在swift中使用了哟,是不是减少了部分代码编写呢?
        是不是变得更加简洁了,既然如此,那么我们继续往前走着
        */

4.字符串的比较

对,没有错,看了字符串的拼接之后,我们就来比较一下字符串,怎么比较呢?看了就知道了,嘻嘻

    //除了刚才的isEmpty,在字符串中,我们有时是不是需要比较两个字符串是否相等?或者首字符是否相同等等这些
        //那么,遇到了这些比较,我们又该怎么办呢?别怕别怕,在下面,我们就一起来解决吧
        //eg:
        var strH = "NapoleonBai";
        var strI = "NapoleonBai";
        var strJ = "XiaoBaiYang";
        //好,我们就判断这三个字符串是否相等
        if strH==strI{
            println("strH===strI"); //输出:strH===strI
        }else{
            println("strH!==strI");
        }
        
        if(strH == strJ){
            println("strH===strJ");
        }else{
            println("strH!==strJ");//输出:strH!==strJ
        }
        
        //好用吧,还是用'=='判断是否相等
        //那么我们如何判断首字符相同或者尾字符相同呢?go->
        //eg:
        if strH.hasPrefix(strI){
            println("前缀相同");
        }
        
        if strH.hasSuffix(strI){
            println("后缀相同");
        }
        /*
        hasPrefix和hasSuffix是什么呢?上面已经表现的很明显了,不过我们可以查看源函数
        extension String {
        
        /// Return `true` iff `self` begins with `prefix`
        func hasPrefix(prefix: String) -> Bool
        
        /// Return `true` iff `self` ends with `suffix`
        func hasSuffix(suffix: String) -> Bool
        }
        
        嘻嘻,看不懂也没有关系,这不是重点,重点是这两个函数返回一个Bool值,
        hasPrefix是用来判断字符串前缀相同
        hasSuffix是用来判断字符串后缀相同
        这下明白了吧.实际开发中,根据需要选择哈
        */

5.关于字符串其他

其实,关于字符串,暂时也讲解不了很多,再提一下转大小写:

uppercaseString 字符串大写转换/lowercaseString 字符串转换小写


6.关于字符串,不得不提的就是字符

那么我们就看看字符是怎样滴吧

 <span style="white-space:pre">	</span>//好吧,关于字符串的讲解就到此结束了,不过,还剩下了一个字符,嘻嘻,那继续字符?
        //众所周知,字符串就是一个一个的字符相组合而成,即字符串是字符的集合.所以:我们就看看字符
        /*
        格式:
        变量关键字和常量关键字  变量 : Character =  字符值
        注意点:
        字符值 必须用双引号括起来, 必须是一个字符
        */
        //eg:
        var chaOne :Character = "H";
        println("chaOne===\(chaOne)");
        
        //那么,我们怎么拆分一个字符串成为一个一个的字符呢?
        //eg:
        var strK="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
        
        for tempCha in strK{
            //var str="Hello "+tempCha;//error:Cannot invoke'+' with an argument list of type '(StringLiteralConvertible,Character)'
            //println("---->"+tempCha);//error:Could not find an overload for'println' that accepts the supplied arguments
            //目前字符与字符串的拼接这是一种方法,上述方法已经不试用
            println("---->\(tempCha)");
            /*
            ---->A
            ---->B
            ---->C
            ---->D
            ---->E
            ---->F
            ---->G
            ---->H
            ---->I
            ---->J
            ---->K
            ---->L
            ---->M
            ---->N
            ---->O
            ---->P
            ---->Q
            ---->R
            ---->S
            ---->T
            ---->U
            ---->V
            ---->W
            ---->X
            ---->Y
            ---->Z
            //依次打印全部
            */
        }
        /*
        上面用了字符串遍历
        说明:
        for in  是一个遍历语句
        1:for 后面跟临时变量   in 后面跟数组<这里的字符串就是一个字符数组>
        2:临时变量 不需要定义,编译器成自动生成一个临时变量
        3:for in 会遍历字符集合,然后把每个集合赋值临时变量
        */
        
        //到此,字符串的操作基本上就OK了,其他的操作就要靠自己去发掘了

其实注释中已经说得很明白了,我只是觉得光贴代码和注释看起来比较枯燥.嘻嘻

好啦,暂时就这样吧.学着写blog,学着学习..走起



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值