窥探Swift之字符串(String)

  以前总结过Objective-C中的字符串Objective-C精选字符串处理方法》,学习一门新语言怎么能少的了字符串呢。Swift中的String和Objective-C语言中NSString仍是区别不小的,Swift中的String又回归了正常状态,使用起来更为方便快捷。本篇博客的主题就是Swift中的字符串类型String,String在Swift中让人省心了很多。今天这篇博客就好好的认识一下Swift中的String。html

  1、字符串拷贝编程

    在Swift中的字符串拷贝直接可使用=号来操做,这个等号不是指针之间的赋值这么简单。若是将字符串A的值赋给字符串B,那么A和B的的内存地址是不一样的,也就是字符串A和字符串B有各自的内存空间。下面的实例就给咱们展现了上面的说法:编程语言

    1.首先写个输入函数,该函数用于输出字符串的内存地址,代码以下:函数

 

1 //打印变量地址的函数
2 func printVarAddress(tempString: String){
3     
4     var address = String(format: "%p", tempString)
5     
6     println(address)
7     
8 }

 

 

    2. 建立一个字符串变量并赋上初始值,而后再定义一个变量,把上一个变量的值经过=号来赋值给这个新的变量,并调用上面的方法来打印这两个变量的内存地址,以下代码所示:post

var strTemp = "Ludashi"

var strTempCopy = strTemp

printVarAddress(strTemp)  //-- 0x100525d50
printVarAddress(strTempCopy) //-- 0x1005268a0

    由上面打印的变量地址能够看出,每一个变量都有本身的存储地址,也就是对应着OC中的深拷贝。学习

 

  2、字符串链接编码

    在Swift中字符串的链接就简单了许多,一个+号搞定,不再用NSStringFormat了,下面的代码是在Swift中进行字符串链接所使用的方式,和其余编程语言如PHP等是同样同样的。废话少说直接上代码。url

//=============字符串链接==============
var myFirstName = "Li"

var mySecondName = "Zelu"

var myName = mySecondName + myFirstName

println(myName) // -- ZeluLi

 

  3、字符串遍历spa

    在Swift中的字符串是可使用for - in 来直接进行遍历的,以下所示:指针

//==============字符串遍历==========
var searchString = "Ludashi"

for tempChar in searchString {
    println(tempChar)
}

 

  4、字符串的比较

    字Swift中的字符串间的比较不是使用isEqualToString方法,直接使用==和!=号就能够搞定,是否是瞬间简单了很多呢。应注意的是,在Swift中的Bool类型的值再也不是OC中的Yes Or No了,而是false Or ture了。下面的代码段是对两个字符串经过==和!=来进行比较的。

//字符串比较==与!=
var myNameTemp = "lizelu"

var myBlogName = "ludashi"
var boolOne = myNameTemp == myBlogName  // -- false

var boolTwo = myNameTemp != myBlogName  // -- true

println(boolOne)

println(boolTwo)

 

  5、Swift中常见字符串函数

    一、使用hasPrefix和hasSuffix来判断一个字符串是否为另外一个字符串的前缀或者后缀

1 //判断前缀仍是后缀
2 var isHasPrefixOrSuffix = "我是lizelu"
3 
4 var isPrefix =  isHasPrefixOrSuffix.hasPrefix("")
5 println(isPrefix)   // -- ture
6 
7 var isSuffix =  isHasPrefixOrSuffix.hasSuffix("zelu")
8 println(isSuffix)   // -- ture

 

    2.字符串长度

    在OC中获取字符串长度是使用length, 而Swift中则是使用count()全局函数,以下:

//字符串长度
var strLenght = count(isHasPrefixOrSuffix)
println(strLenght)  // -- 8 --

 

    3.字符串插值

    在OC中若是你想往一个字符串中插入一个值的话,那么就得使用字符串的格式化函数了,而在Swift中则使用\()就能够了,具体使用方式以下所示:

1 //字符串插值
2 var insertToStringValue = 1010101
3 
4 var strInserReaultValue = "二进制编码\(insertToStringValue)"
5 
6 println(strInserReaultValue)  //二进制编码1010101

 

    4.调用NSString方法

    在Swift中若是想调用NSString所特有的方法时,该怎么办呢?那么就使用as关键字来转换一下类型吧,就是把String类型经过as操做,转换成NSString类型,而后在调用NSString相应的方法(好比要获取一个字符串指定范围内的字符串时,使用NSString的方法就会更为简单一些)。

1 //String转成NSSting调用NSSting的方法
2 var stringToNSString = "SwiftWithMe"
3 
4 var strNs: NSString = "aaa"
5 
6 strNs.length  // -- 3 --
7 
8 //就能够掉哟过NSSting的各工种方法了
9 var strLength = (stringToNSString as NSString).length  // -- 11 --

  今天有关Swift字符串的东西就先到这儿,之后字啊使用Swift作开发实例时,用到Swift字符串时再作补充。

相关文章
相关标签/搜索