标签:des style class blog code http
String是例如“hello, world”,“海贼王”
这样的有序的Character(字符)类型的值的集合,通过String类型来表示。
Swift 的String类型与
Foundation NSString类进行了无缝桥接。如果您利用 Cocoa 或 Cocoa
Touch 中的 Foundation 框架进行工作。所有NSString API
都可以调用您创建的任意String类型的值。除此之外,还可以使用本章介绍的String特性。您也可以在任意要求传入NSString实例作为参数的
API 中使用String类型的值作为替代
注:Swift
的String类型是值类型。
如果您创建了一个新的字符串,那么当其进行常量、变量赋值操作或在函数/方法中传递时,会进行值拷贝。
任何情况下,都会对已有字符串值创建新副本,并对该新副本进行传递或赋值操作。
1.字符串定义
var s = "abc"
var s1:String = "abc"
|
1
2
3 |
// 两个字符串均为空并等价。var emptyString = ""
// 空字符串字面量var anotherEmptyString = String() // 初始化 String 实例 |
字符串字面量可以包含以下特殊字符:
\0(空字符)、\\(反斜线)、\t(水平制表符)、\n(换行符)、\r(回车符)、\"(双引号)、\‘(单引号)。\xnn,其中nn为两位十六进制数。\unnnn,其中nnnn为四位十六进制数。\Unnnnnnnn,其中nnnnnnnn为八位十六进制数。|
1
2
3
4
5 |
let wiseWords = "\"我是要成为海贼王的男人\" - 路飞"// "我是要成为海贼王的男人" - 路飞let dollarSign = "\x24"
// $, Unicode 标量 U+0024let blackHeart = "\u2665"
// ?, Unicode 标量 U+2665let sparklingHeart = "\U0001F496"
// ??, Unicode 标量 U+1F496 |
2.字符串拼接
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 |
//字符串拼接var x = "x"var y = "y"var z = x + yvar m = z + "m"var n = "n"n += m//使用\()完成字符串的插值var result = "\(x)==\(y)==\(z)==\(m)==\(n)"println(result)//结果:x==y==xy==xym==nxym//字符串与字符拼接let
s1 = "hello"let
c1: Character = "!"let
plus1 = s1 + c1 // 等于 "hello!"let
plus2 = c1 + s1 // 等于 "!hello" |
3.字符串遍历
|
1
2
3
4
5 |
var myString = "This is a string"for character in
myString{ println(character)} |
4.字符个数统计
|
1
2 |
var myString = "Here is my string, lets count the characters!"println(countElements(myString)) |
5.字符串比较 & 是否包含前后缀
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 |
var check1:String = "Swift is good!"var check2:String = "Swift is good!"//字符串是否相等if check1 == check2 { println("check1 = check2")} else
{ println("check1 != check2")}//是否包含前缀var
preCheck = "Swift"if check1.hasPrefix(preCheck) { println("包含前缀")}//是否包含后缀var
sufCheck = "good!"if check1.hasSuffix(sufCheck) { println("包含后缀")} |
6.大小写转换
|
1
2
3
4
5
6
7 |
let myString = "Wait a moment, please."let newString = myString.uppercaseString//The string is now "WAIT A MOMENT, PLEASE."let myString = "Wait a moment, please."let newString = myString.lowercaseString// The string is now "wait a moment, please." |
7.字符串是否包含其他字符串
|
1
2
3
4 |
var myString = "This is a string test"if myString.rangeOfString("string") { println("exists")} |
8.字符串截取
|
1
2
3
4
5
6
7
8
9
10 |
//截取字符串的标识位从1开始计数let myString = "ABCDEFGHI"//1.从目标标识位后一个字符开始截取余下的字符串let mySubstring = (myString.substringFromIndex(2))println(mySubstring) // "CDEFGHI"//2.从第一个字符截取到目标标识位let mySubstring2 = (myString.substringToIndex(4))println(mySubstring2) // "ABCD" |
9.字符串去空格
|
1
2 |
var myString = " Let‘s trim the whitespace "var newString = myString.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceCharacterSet()) |
10.字符串分割为字符串数组
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 |
//单一分隔符:只有一种分割符var myString = "Berlin, Paris, New York, San Francisco"//1.隐式定义字符串数组var myArray = myString.componentsSeparatedByString(",")//2.显示定义字符串数组var myArray2 : String[] = myString.componentsSeparatedByString(", ")for em in
myArray2 { print(em) //Berlin Paris New York San}//多重分割符:有2个或两个以上分隔符var
myString2 = "One-Two-Three-1 2 3"var
array2:String[] = myString2.componentsSeparatedByCharactersInSet(NSCharacterSet (charactersInString: "- "))//["One", "Two", "Three", "1", "2", "3"] |
11.字符串转换为NSData
|
1
2
3 |
let myString = "String to encode"let string: NSString = myStringlet data = string.dataUsingEncoding(NSUTF8StringEncoding) |
参考文章:http://www.learnswiftonline.com/reference-guides/string-reference-guide-for-swift/
Swift学习笔记(4)--字符串及基本使用,布布扣,bubuko.com
标签:des style class blog code http
原文地址:http://www.cnblogs.com/anywherego/p/3785029.html