Swift语法基础:14 - Swift的字符使用, 计算数量, 连接字符串和
接着前面的字符串开始讲: 1. 使用字符wift 的 String 类型表示特定序列的字符值的集合。每一个字符值代表一个 Unicode 字符。 可以用 for-in 循环来遍历字符串中的每一个字符: for character in "Dog!??" {
println(character)
} // 打印出来的结果: D
o
g
!
??
另外,通过标明一个 Character 类型注解并通过字符字面量进行赋值,可以建立一个独立的字符常量或变量: let yenSign: Character = "¥"
2.计算字符数量在字符和字符串中,有一个函数是可以打印字符的数量,比如: var variableString = "Horse"
variableString += " and carriage"
println("(countElements(variableString))")
// 打印出来的结果: 18
let unusualMenagerie = "Koala ??,Snail ??,Penguin ??,Dromedary ??"
println("unusualMenagerie has (countElements(unusualMenagerie)) characters")
// 打印出来的结果: unusualMenagerie has 40 characters
PS: 2.另外需要注意的是通过 countElements 返回的字符数量并不总是与包含相同字符的 NSString 的 length 属性相同。NSString 的 length 属性是基于利用 UTF-16 表示的十 六位 code units 数目,而不是基于 Unicode 字符。为了解决这个问题,NSString 的 length 属性在被 Swift 的 String 值访问时会被称为 utf16count。 3.连接字符串和字符和前面一样,字符和字符串也可以加在一起的,但这里要做一些特殊的处理,比如: let string1 = "Hello"
let string2 = " World"
let character1: Character = "!"
let character2: Character = "?"
var welcome = string1 + string2
welcome.append(character1)
println(welcome)
// 打印出来的结果: Hello World!
也可以使用加法赋值运算: var characterPlusCharacter = string1
characterPlusCharacter += string2
println(characterPlusCharacter)
// 打印出来的结果: Hello World
4.字符串插值:?字符串插值是一种全新的构建字符串的方式,可以在其中包含常量、变量、字面量和表达式,比如: let multiplier = 3
let message = "(multiplier) times 2.5 is (Double(multiplier) * 2.5)"
println(message)
// 打印出来的结果: 3 times 2.5 is 7.5
PS: 插值字符串中写在括号中的表达式不能包含非转义双引号 ( “” ) 和反斜杠 ( ) 并且不能包含回车或换行符。 5.比较字符串Swift 供了三种方式来比较字符串的值:字符串相等,前缀相等和后缀相等。 字符串相等: 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")
}
// 打印出来的结果: These two strings are considered equal
前后缀相等: let romeoAndJuliet = [
"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 romeoAndJuliet {
if scene.hasPrefix("Act 1 ") {
++act1SceneCount
}
}
println("There are (act1SceneCount) scenes in Act 1")
// 打印出来的结果: There are 5 scenes in Act 1
var mansionCount = 0
var cellCount = 0
for scene in romeoAndJuliet {
if scene.hasSuffix("Capulet's mansion"){
++mansionCount
} else if scene.hasSuffix("Friar Lawrence's cell"){
++cellCount
}
}
println("(mansionCount) mansion scenes; (cellCount) cell scenes")
// 打印出来的结果: 6 mansion scenes; 2 cell scenes
6.大小写字符串在Swift当中也有一个函数,可以直接把字符串变成全部大写字母,或者全部小写字母: let normal = "Could you help me,please?"
let shouty = normal.uppercaseString
let whispered = normal.lowercaseString
println("(shouty),(whispered)")
// 打印出来的结果:COULD YOU HELP ME,PLEASE?,could you help me,please?
好了,这次我们就讲到这里,下次我们继续~ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |