//

 //  ViewController.swift

 //  Swift-String

 //

 //  Created by luorende on 16/9/10.

 //  Copyright © 2016年 luorende. All rights reserved.

 //

 import UIKit

 class ViewController: UIViewController {

     override func viewDidLoad() {

         super.viewDidLoad()

         // Do any additional setup after loading the view, typically from a nib.

 //        一、定义字符串

    var str1="Hello,Swift." //字符串变量

         let str2="Hello,Swift." //字符串常量

         let str3=" " //空字符串

         let str4 = String() //空字符串

 //        二、定义字符

 //        格式:变量关键字和常量关键字  变量 : Character =  字符值

 //        注意点:字符值 必须用双引号括起来, 必须是一个字符

         var char1:Character = "s" //字符变量

         let char2:Character = "s" //字符常量

 //        字符串和字符的关系:字符串是由N个字符组成的,即字符串是字符的集合。

 //        例子:

    let str = "ABC"  //字符串"ABC" 是有 三个字符组成的分别是 字符”A",字符“B",字符”C"

         print("str=\(str)")

 //        三、字符串与字符串的拼接、字符串与字符的拼接

 //        字符串和字符的值可以通过加法运算符 (+) 相加在一起并创建一个新的字符串值:

         let string1 = "Hello"

         let string2 = " Swift"

         let character1: Character = "!"

         let character2: Character = "?"

         let stringAndCharacter = string1 + String(character1) // 等于 "Hello!"

         let stringAndString = string1 + string2 // 等于 "Hello Swift"

         let characterAndString = String(character1) + string1 // 等于 "!Hello"

         let characterAndCharacter = String(character1) + String(character2) // 等于 "!?"

 //        也可以通过加法赋值运算符 (+=) 将一个字符串或者字符添加到一个已经存在字符串变量上:

         var studying = "study my"

         studying += string2

 //        studying 现在等于 "study my Swift"

         var welcome = "good morning"

         welcome += String(character1)

         // welcome 现在等于 "good morning!"

 //        注意:不能将一个字符串或者字符添加到一个已经存在的字符变量上,因为字符变量只能包含一个字符。

 //        字符串与其它类型值的连接

         let xx=

         let yy=10.8

         let str1="\(xx)+\(yy)=?"

         print(str1) //str1="10+10.8=?"

         let str2=String(format: "%i+%.1f=?", xx, yy)

         print(str2) //str2="10+10.8=?"

 //        四、字符串的(插值)插入

 //        字符串插值是一种全新的构建字符串的方式,可以在其中包含常量、变量、字面量和表达式。插入的字符串字面量的每一项都被包裹在以反斜线为前缀的圆括号中:

         let multiplier = 

         let message = "\(multiplier) times 2.5 is \(Double(multiplier) * 2.5)"

         print(message) // message is --> "3 times 2.5 is 7.5"

 //        反斜杠表示插入的意思

 //        在上面的例子中,multiplier 作为 \(multiplier) 被插入到一个字符串字面量中。当创建字符串执行插值计算时此占位符会被替换为 multiplier 实际的值。

 //        multiplier 的值也作为字符串中后面表达式的一部分。该表达式计算 Double(multiplier) * 2.5 的值并将结果 (7.5) 插入到字符串中。在这个例子中,表达式写为 \(Double(multiplier) * 2.5) 并包含在字符串字面量中。

 //        注意:您插值字符串中写在括号中的表达式不能包含非转义双引号 (") 和反斜杠 (\),并且不能包含回车或换行符。

 //        五、字符串比较

    let str1="Hello,"

         let str2="Swift."

         let str3="Hello,Swift."

         let comp1 = str1==str2  //false   ---> 不等于

         print(comp1)

         let comp2 = str1+str2 == str3   //true   ---> 等于

         print(comp2)

         let comp3 = str1 < str2 //true      ---> 等于

         print(comp3)

         let comp4 = str1 != str2 //true     ---> 等于

         print(comp4)

 //        六、字符串长度的计算

         let str="Hello,Swift."

 //        let len1=count(str) //swift 1.2

         print(len2) //len1=12

         let len2=str.characters.count //swift 2.0

         print(len2) //len2=12

 //        七、查找字符串是否包含子串Swift

         let str1="Hello,Swift."

         let str2="Swift"

         let range=str1.rangeOfString(str2)

         if range != nil{

             //包含

         }

 //        七、查找字符串indexof

         let str="Hello,Swift."

 //        let range=str.rangeOfString("Swift",options:NSStringCompareOptions.allZeros) //Swift 1.2

         let range=str.rangeOfString("Swift", options: NSStringCompareOptions()) //Swift 2.0

         let strIndex=range?.startIndex

         print(strIndex) //startIndex=3

 //        八、字符串大小写

         //首字母大写capitalized

         let str1="mandarava is a flower."

         str1.capitalizedString

         print(str1) //str1="Mandarava Is A Flower.

         //转换为大写字母uppercase

         var str2="hello, mandarava."

         str2=str2.uppercaseString

         print(str2)//str1="HELLO, MANDARAVA."

         //转换为小写字母lowercase

         var str3="HELLO, MANDARAVA."

         str3=str3.lowercaseString

         print(str3)//str1="hello, mandarava."

 //        九、字符串分割与打断

         let str1="boy, girl, man, woman"

         let str1Array=str1.componentsSeparatedByString(",")

         print(str1Array) //str1Array=["boy", " girl", " man", " woman"]

         let str2="boy,girl,man 10 20 30"

         let charset=NSCharacterSet(charactersInString:", ")

     let str2Array=str2.componentsSeparatedByCharactersInSet(charset)

         print(str2Array) //str2Array=["boy", "girl", "man", "10", "20", "30"]

 //        十、字符串的转换(string转换为Int/Long/Float/Double/Bool等)

         let str1=""

 //        var i=str1.toInt()! //Swift 1.2

         //=100

         let i=(str1 as NSString).integerValue //Swift 2.0

         print(i) //=100

         let j=(str1 as NSString).intValue

         print(j) //=100

         let l=(str1 as NSString).longLongValue

         print(l) //=100

         let str2="10.8"

         let f=(str2 as NSString).floatValue

         print(f) //=10.8

         let d=(str2 as NSString).doubleValue

         print(d) //=10.8

         let str3="true"

         let b=(str3 as NSString).boolValue //=true

         print(b) //=true

 //        十一、字符串的遍历 (for in)

 //        说明: for in  是一个遍历语句

     /**

           1: for 后面跟临时变量   in 后面跟数组

           2: 临时变量 不需要定义, 编译器成自动生成一个临时变量

           3:for in 会遍历字符集合,然后把每个集合赋值临时变量

           */

     let A = "ABC"

         /*

          1:str 是字符串变量 是字符集合

          2:temp是临时变量

          3:for in 会遍历 字符集合,然后把每个集合赋值临时变量temp

          */

 // Swift 1.2

 //        for temp in str{

 //          print(temp)

 //      }

 // Swift 2.0

         for temp  in A.characters {

             print(temps)

         }

         /**

         运行结果

         A

         B

         C

          */

  }

     override func didReceiveMemoryWarning() {

         super.didReceiveMemoryWarning()

         // Dispose of any resources that can be recreated.

     }

 }

iOS -Swift 3.0 -String(字符串常规用法)的更多相关文章

  1. iOS -Swift 3.0 -for(循环语句用法)

    // // ViewController.swift // Swift-循环语句 // // Created by luorende on 16/12/08. // Copyright © 2016年 ...

  2. 读懂Swift 2.0中字符串设计思路的改变

    Swift提供了一种高性能的,兼容Unicode编码的String实现作为标准库的一部分.在 Swift2中,String类型不再遵守CollectionType协议.在以前,String类型是字符的 ...

  3. iOS -Swift 3.0 -Array(数组与可变数组相关属性及用法)

    // // ViewController.swift // Swift-Array // // Created by luorende on 16/9/12. // Copyright © 2016年 ...

  4. swift 2.0 语法 字符串

    //: Playground - noun: a place where people can play import UIKit /*: 字符串 * OC中的字符串是一个对象, Swift中的字符串 ...

  5. iOS -Swift 3.0 -UILabel属性大全

    昨天研究了一下苹果近两年新出的Swift语言,感觉学起来并不是很吃力,毕竟自己有过Objective-C的语言功底,所以各方面的属性控件还是一眼就可以认出的,只是Swift的写法与Objective- ...

  6. iOS -Swift 3.0 -UIButton属性大全

    // //  ViewController.swift //  Swift-UIButton // //  Created by luorende on 16/9/9. //  Copyright © ...

  7. Swift 2.0 单例的用法

    单例我们项目中是很常用的,今天刚学了在swift中怎么写单例和调用单例.下面我们简单的介绍一下.我们先看看Swift单例的写法: import UIKit class Shareinstance: N ...

  8. GridView的常规用法

    GridView控件在Asp.net中相当常用,以下是控件的解释,有些是常用的,有些是偶尔用到的,查找.使用.记录,仅此而已.(最后附带DropDownList控件) ASP.NET中GridView ...

  9. iOS - Swift String 字符串

    前言 public struct String public class NSString : NSObject, NSCopying, NSMutableCopying, NSSecureCodin ...

随机推荐

  1. 龙珠 超宇宙 [Dragon Ball Xenoverse]

    保持了动画气氛实现的新时代的龙珠视觉 今年迎来了[龙珠]系列的30周年,为了把他的魅力最大限度的发挥出来的本作的概念,用最新的技术作出了[2015年版的崭新的龙珠视觉] 在沿袭了一直以来优秀的动画世界 ...

  2. 送给和我一样曾经浮躁过的PHP程序猿

    送给和我一样曾经浮躁过的PHP程序猿   2012年偶决定开始写博客了,不为别的,就希望可以通过博客记录我的成长历程,同时也希望可以帮助一些刚毕业,刚入行业的兄弟姐们 们.我们是一群充满浮躁.抱怨.迷 ...

  3. 连接别人创建的ORACLE数据库

    以oracle10g版本为例,本机必须安装oralce10g的客户端或oralce10g的服务器 方法一(从服务器配置): 第一步:打开配置和移植工具-->Net Manager 第二步:选中服 ...

  4. Networking with PHP

    PHP Advanced and Object-Oriented Programming 3rd Edition

  5. ArrayList调用remove方法需要注意的地方

    ArrayList中有remove 方法和 removeAll方法, ArrayList中不仅继承了接口Collection中的remove方法,而且还扩展了remove方法. Collection中 ...

  6. VB动态添加WebBrowser控件,并拦截弹出窗口(不用引用任何组件)

    新建空白窗体,然后粘帖下面代码: Option ExplicitPublic WithEvents br As VBControlExtender Private Sub br_ObjectEvent ...

  7. MvcPager分页控件的使用

    1.引入MvcPager.dll(MvcPager分页控件:http://www.webdiyer.com/mvcpager/) 2.后台C# Controller: //Ddemo使用Webdiye ...

  8. ubuntu Nodejs和npm的安装

     cnpm install -g XXX errors :  npm i --registry=https://registry.npm.taobao.org     标签: nodejsnpm 20 ...

  9. php-- Linux图形界面与字符界面切换

    转自:http://blog.163.com/wang_ly2442/blog/static/9494340720128355054551/ 1. 启动时进入字符界面,后来想切换到图形界面:使用sta ...

  10. 使用多种客户端消费WCF RestFul服务(四)——Jquery篇

    Jquery篇 互联网开发中少不了各类前端开发框架,其中JQUERY就是最流行之一,本篇我们就采用JQUERY来消费WCF RestFul服务,其中用到JSON基础知识,如果有想了解的朋友,请访问:& ...