码迷,mamicode.com
首页 > 编程语言 > 详细

Swift学习笔记- 3. 字符串和字符

时间:2015-02-15 20:34:40      阅读:264      评论:0      收藏:0      [点我收藏+]

标签:

初始化空字符串

 
创建空字符串,可以将空的字符串字面量赋值给变量,也可以初始化一个新的 String 实例:
 
var emptyString = ""
var anotherEmptyString = String()
//两个字符串均为空,并相等
 
可以通过检查其 Boolean 类型的 isEmpty 属性来判断该字符串是否为空:
 
if emptyString.isEmpty {
    println("什么都没有")
}
 
字符串可变性
 
将一个特定字符串分配给一个变量来对其进行修改,或分配给一个常量来保证不会被修改:
 
var variableString = "Horse"
variableString += "and carriage"

let constantString = "Highlander"
constantString += "and another Highlander"  //编译报错
 
注意:
在 Swift 中,字符串是否可以修改仅通过定义的是变量还是常量来决定,实现了多种类型可变性操作的统一。
 
字符串是值类型
String 类型是值类型,一个字符串,在当其进行常量,变量赋值操作或在函数、方法中传递时,会进行值拷贝。任何情况下,都会对已有字符串创建新副本,并对新副本进行传递或赋值操作。
 
使用字符
String 类型表示特定序列的 Character 类型值的集合,你可以用 for in 来遍历字符串中的每一个字符。
 
for character in "Dog!" {
    println(character)
}
 
另外, 通过表明一个 Character 类型并通过字符字面量进行复制,可以建立一个独立的字符常量或变量:
let yenSign: Character = "¥"
 
计算字符数量
 
通过条用全局 countElements 函数,可以获取字符串的字符数量
 
let unusualMenagerie = "Koala ,Snail, Penguin, Dromedary"
println("unusualMenagerie has \(countElements(unusualMenagerie)) characters)")
 
连接字符串
 
可以通过 “+” 来连接两个字符串
 
let string1 = "hello"
let string2 = " there"

var welcome = string1 + string2
 
你可以用“+=”在一个字符串变量后追加字符串
 
var instruction = "look over"
instruction += string2  // "look over there"
 
可以通过 String 的 append 方法在一个 String 变量后追加 Character 变量
 
let exclamationMark: Character = "!"
welcome.append(exclamationMark) // "hello there!"
 
注意:
你不能在一个 Character 变量后追加 String 或 Character,因为 Character 只能包含一个字符
 
 
字符串插值
字符串插值是一种构建新字符串的方式,可以在其中包含常量、变量、字面量和表达式。插入的字符串字面量的每一项都被包裹在“ \( )”中
 
let multiplier = 3
let message = "\(multiplier) times 2.5 is \(Double(multiplier) * 2.5)"
 
注意:
插值字符串中写在括号中的表达式不能包含非转义双引号(”)和反斜杠(\),并且不能包含回车或换行符.
 
比较字符串
三种比较字符串的方式:字符串相等, 前缀相等, 后缀相等
 
字符串相等
如果两个字符串以同一顺序包含完全相同的字符,则认为两者字符串相等
 
let quotation = "We‘re a lot alike, you and I"
let sameQuotation = "We‘re a lot alike, you and I"

if quotation == sameQuotation {
    println("These two strings are considered equal")
}
 
前后缀相等
通过调用 String 的 hasPrefix / hasSuffix 方法来检查字符串是否拥有特定的前缀或后缀。
 
let remeoAndJuliet = [
    "Act 1 Scene 1: Verona, A public place",
    "Act 1 Scene 2: Capulet‘s mansion",
    "Act 1 Scene 3: A room in Capulet‘s mansion",
    "Act 1 Scene 4: A street outside Capulet‘s mansion",
    "Act 1 Scene 5: The Great Hall in Capulet‘s mansion",
    "Act 2 Scene 1: Outside Capulet‘s mansion",
    "Act 2 Scene 2: Capulet‘s orchard",
    "Act 2 Scene 3: Outside Friar Lawrence‘s cell",
    "Act 2 Scene 4: A street in Verona",
    "Act 2 Scene 5: Capulet‘s mansion",
    "Act 2 Scene 6: Friar Lawrence‘s cell"
]

var act1SceneCount = 0
for scene in remeoAndJuliet {
    if scene.hasPrefix("Act 1") {
        ++act1SceneCount;
    }
}
println("There are \(act1SceneCount) scenes in Act 1")
 

var mansionCount = 0
var cellCount = 0
for scene in remeoAndJuliet {
    if scene.hasSuffix("Capulet‘s mansion") {
        ++mansionCount
    } else if scene.hasSuffix("Friar Lawrence‘s cell") {
        ++cellCount
    }
}

println("\(mansionCount) mansion scenes; \(cellCount) cell scenes")
 
 
大写和小写字符串
可以通过字符串的 uppercaseString 和 lowercaseString 属性来访问大写\ 小写版本的字符串
 
let normal = "Could you help me, please?"
let shouty = normal.uppercaseString
let whispered = normal.lowercaseString
 
 

Swift学习笔记- 3. 字符串和字符

标签:

原文地址:http://www.cnblogs.com/kangshang/p/4293437.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!