swift极简文档(1)字符串

原创 2017年08月02日 10:40:19


OC和Swift中字符串的区别

  • 在OC中字符串类型时NSString,在Swift中字符串类型是String
  • OC中字符串@"",Swift中字符串""

  //1、字符串声明

        var ch999Str1 : String = " "        //声明一个空字符串

        var ch999Str2 = "hans"               // 声明时候可以忽略类型,未定义变量类型,在swift中会根据值推测变量的类型为String

        var ch999Str3 = String()  // initializer syntax,空初始化


        

        //可以通过检查布尔量 isEmpty属性来确认一个 String值是否为空:

        if ch999Str3.isEmpty {

            print("我是空的看到了不?")

        }

        

        var ch999Str4 : String?

        if ch999Str4 == nil {

            ch999Str4 = "hehe"

        }

       

        

        

        //2、字符串拼接

        ch999Str1 = ""

        ch999Str2 = ""

        ch999Str3 = ch999Str1 + ch999Str2//利用+直接将字符串拼接在一起,比较直接

     

        let array : [String] = ["c","h", "999"]

        let arrayStr : String = array.joined(separator: "/")//将数组中的元素拼接成字符串:c/h/999

        

        

        //3、字符串的截取

        

        //(1)index

        ch999Str1 = "六剑客与小白"

        var ch999str44 = "六剑客与小白六剑客与小白"

        

        //let index = ch999Str1.startIndex.advancedBy(5) //弃用了

        let index1 = ch999Str1.index(ch999Str1.endIndex, offsetBy: -2)

        let index2 = ch999Str1.index(ch999Str1.startIndex, offsetBy: 3)

        

        //substringFromIndex:是包括当前下标的值开始截取,到字符串最后停止

        ch999Str2 = ch999str44.substring(from: index1)

        //substringToIndex:是截取到当前下标为止

        ch999Str3 = ch999str44.substring(to: index1)

        

        //limitedBy 给定限制范围,确保不会越界

        if let index3 = ch999str44.index(ch999str44.startIndex, offsetBy:15, limitedBy: ch999str44.endIndex){

            print("index3str = \(ch999str44[index3])")//y

        }else{

            print("越界了")//y

        }

        print("ch999Str2 = \(ch999Str2) \nch999Str3 =\(ch999Str3)\nindex = \(index2)"   )


        //(2)range

        let rangeee = 1...4

        let afterRangeee = ch999str44.index(after: ch999str44.startIndex  )..<ch999str44.index(ch999str44.endIndex, offsetBy: -2)

        

        print("ch999Str2 = \(ch999str44[afterRangeee]) \nch999Str3 =\(ch999str44[afterRangeee])\nrange = \(afterRangeee)"   )


        

        

        //4、字符串的分割

        //components(separatedBy:)方法是将字符串根据指定的字符编码参数进行分割,并将分别的内容转换为一个数组。其语法形式如下:

        

        //func components(separatedBy separator: CharacterSet) -> [String]

        

        //其中,separator用来指定分割的字符集。

        

        

        var ch999Str5 = ",,,,,"

        var array2 = ch999Str5.components(separatedBy: ",")

        print("分割后:\(array2)\n\(ch999Str5.components(separatedBy: ","))")


       

      

        //5distance 查找字符的位置

        ch999str44 = "六剑客与小白六剑客与小白"

        let needle: Character = ""

        if let idx = ch999str44.characters.index(of:needle) {

            let pos = ch999str44.characters.distance(from:ch999str44.startIndex, to: idx)

            print("Found\(needle) at position\(pos)")//Found . at position 5

        }

        else {  

            print("Not found")  

        }

        

        

        //6丶使用字符串替换指定范围的子字符串

        //(1)全局替换

        ch999str44 = ch999str44.replacingOccurrences(of: "", with: "")

        print(ch999str44)

        //(2)局部替换

        ch999str44.replaceSubrange(ch999str44.startIndex..<ch999str44.index(ch999str44.startIndex, offsetBy: 6), with:"ch999")

        print("\(ch999str44)") // ch999六剑客与小白

        

        //根据NSCharacterSet查找

        let searchRange = ch999str44.startIndex ..< ch999str44.characters.index(ch999str44.startIndex, offsetBy: 7)

        let cSet = CharacterSet.uppercaseLetters

        var range = ch999str44.rangeOfCharacter(from: cSet)

        print(range!)

        

        //根据字符串查找

        range = ch999str44.range(of: "小白")

        print(range!)

        range = ch999str44.range(of: "小白", options: NSString.CompareOptions.caseInsensitive, range: searchRange, locale: nil)

        if let tempRange = range {

            print("tempRange:\(tempRange)")

        }

        

//        var c:CharacterSet = NSCharacterSet(charactersIn:"小白") as CharacterSet

//

//        var ranges = ch999str44.rangeOfCharacter(from: c)

//        

//        

//        

        

        

        //7丶判断包不包含

        //contains(_:)方法用来判断字符串A是否包含aString字符串,其语法形式如下:

        //func contains(_ str: String) -> Bool

        //其中,str用来指定一个字符串。

        if(ch999str44.contains("小白")){

            

            print("ch999str44字符串中包含小白字符串")

            

        }else{

            

            print("ch999str44字符串中不包含小白字符串")

            

        }


超全面指南!从零开始教你打造网页设计中的极简风格

什么是极简设计 极简设计,严格上讲不能算作一种视觉风格,而是一种设计哲学。它在保持了基本的骨架内容的基础上,剔除掉多余的元素、装饰、色彩和纹理,是通过不断思考而进行化繁为简的设计过程。这样做的结果是...
  • vanessary2016
  • vanessary2016
  • 2016年04月06日 16:47
  • 540

《Kotlin极简教程》

下载地址
  • qq_34476727
  • qq_34476727
  • 2017年09月29日 11:11
  • 425

git极简教程

简介: Git是一个自由和开源的分布式版本控制系统,设计用于处理从小到大型项目的速度和效率。它的一个非常重要的功能便是协同开发。1.安装git下载地址:https://git-scm.com/down...
  • yasin27878
  • yasin27878
  • 2017年02月28日 17:43
  • 86

读书笔记6《极简》 Joshua Becker 乔舒亚-贝克尔

越简单,越美好
  • m0_37890694
  • m0_37890694
  • 2017年03月16日 16:58
  • 788

谈谈我对极简主义的看法

其实刚开始接触到极简主义是在知乎上,当时看到一张图,是一个答主拍的自己的房间,房间简洁到极致,床,桌子,电脑,衣架,一切显得干净而利落。于是觉得突然就觉得极简主义真他妈好啊,简而有序,带着一种特殊的美...
  • code_vs
  • code_vs
  • 2017年08月09日 23:34
  • 343

极简风登陆注册

开头说两句,因为刚开始工作不久,加入团队自接小项目里要做个登陆注册.网上找了个比较好看的ui模板,自己写了js逻辑代码,分享一下.至于我能想到大家会说的:网上不是有很多,干嘛还要自己写?重点在于练手,...
  • abcd_1937
  • abcd_1937
  • 2017年04月01日 16:45
  • 185

《你一定爱读的极简欧洲史》读书笔记

《你一定爱读的极简欧洲史》读书笔记标签(空格分隔): 读书笔记 历史1. 书籍信息及为什么读这本书?  作者: 约翰·赫斯特 著 习玉萍 译   字数: 120千字   自己读这本书,是因为想了解...
  • hanhanhanhuanghe
  • hanhanhanhuanghe
  • 2015年11月28日 16:55
  • 2297

《Kotlin极简教程》第一章 Kotlin简介

最新上架!!! 《 Kotlin极简教程》 陈光剑 (机械工业出版社): https://mp.weixin.qq.com/s/bzRkGSO6T1O2AELM_UqKUQ fun max(a: ...
  • universsky2015
  • universsky2015
  • 2017年09月13日 14:24
  • 392

《Spring Boot极简教程》第1章 Spring Boot史前简述

第1章 Spring Boot史前简史 大约20年前,程序员们使用“企业级Java Bean”(EJB)开发企业应用,需要配置复杂的XML。 在二十世纪初期,新兴Java技术——Spring,横空出...
  • universsky2015
  • universsky2015
  • 2017年09月13日 14:26
  • 158

人这辈子应该这样活,极简主义生活方式

极简主义生活方式,是对自身的再认识,对自由的再定义。深入分析自己,首先了解什么对自己最重要,然后用有限的时间和精力,专注地追求,从而获得最大幸福。放弃不能带来效用的物品,控制徒增烦恼的精神活动,简单生...
  • asqi1
  • asqi1
  • 2014年11月21日 10:59
  • 2539
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:swift极简文档(1)字符串
举报原因:
原因补充:

(最多只允许输入30个字)