字符串初始化:
var emptyString = "" // 空字符串字面量
var anotherEmptyString = String() // 初始化 String 实例
// 两个字符串均为空并等价。
字符串判空:
if emptyString.isEmpty {
println("什么都没有")
}
// 打印输出:"什么都没有"
字符串编辑
var variableString = "Horse"
variableString += " and carriage"
// variableString 现在为 "Horse and carriage"
注:在oc中字符串的修改只能通过NSString和NSMutableString来定义字符串是否可变,在swift中可以通过定义ver和let来规定字符串是否可编辑。
字符串遍历
for character in "Dog! " { println(character)
} // D // o // g // ! //可直接通过for in遍历字符串中的字符
字符初始化
let yenSign: Character = "¥"
字符串中字符数量
方法countElements
let unusualMenagerie = "Koala , Snail , Penguin , Dromedary " println("unusualMenagerie has \(countElements(unusualMenagerie)) characters")
// 打印输出:"unusualMenagerie has 40 characters"
注:此处遍历得出的字符串中的数量并不一定与oc中NSString中的length相等。因为
NSString的 length 属性是基于利用 UTF-16 表示的十六位代码单元数字,而不是基于 Unicode 字符。swift中的utf16count与oc中的length表达一样的意思。
字符串与字符的连接
1.通过+号
let string1 = "hello"
let string2 = " there"
let character1: Character = "!"
let character2: Character = "?"
let character2: Character = "?"
let stringPlusCharacter = string1 + character1// 等于 "hello!"
let stringPlusString = string1 + string2// 等于 "hello there"
let characterPlusString = character1 + string1// 等于 "!hello"
let characterPlusCharacter = character1 + character2 // 等于 "!?"
2.通过+=号
var instruction = "look over"
instruction += string2 // instruction 现在等于 "look over there" var welcome = "good morning"
welcome += character1 // welcome 现在等于 "good morning!"
注:不能将字符或字符串添加到一个已存在的字符变量上,因为一个字符变量只能包含一个字符
字符串的插值
let multiplier = 3
let message = "\(multiplier) 乘以 2.5 是 \(Double(multiplier) * 2.5)" // message 是 "3 乘以 2.5 是 7.5"
注:括号内不能含有非转义双引号 (") 和反斜杠 (\),并且不能包含回车或换行符。
字符串比较
1.字符串相等
let quotation = "我们是一样一样滴."
let sameQuotation = "我们是一样一样滴." if quotation == sameQuotation {
println("这两个字符串被认为是相同的") }// 打印输出:"这两个字符串被认为是相同的"
2.前缀/后缀相等
前缀:string.hasprefix(“")
后缀:string.hassuffix(“")
let romeoAndJuliet = ["Act 1 Scene 1:Verona","A public place","Act 1 Scene 2: Capulet's mansion","Act 2 Scene 6: Friar Lawrence's cell"]
var act1SceneCount = 0
for scene in romeoAndJuliet {
if scene.hasPrefix("Act 1 ") { ++act1SceneCount }
}
var cell = 0
for scenne1 in romeoAndJuliet{
if scenne1.hasSuffix("cell")
{ cell++}
}
print("There are \(act1SceneCount) scenes in Act 1")
for scene in romeoAndJuliet {
if scene.hasPrefix("Act 1 ") { ++act1SceneCount }
}
var cell = 0
for scenne1 in romeoAndJuliet{
if scenne1.hasSuffix("cell")
{ cell++}
}
print("There are \(act1SceneCount) scenes in Act 1")
print("There are \(cell) scenes in cell")
大小写字符串
大写:string.uppercaseString
<!--?xml version="1.0" encoding="UTF-8" standalone="no"?-->
小写:string.lowercaseString
<!--EndFragment-->
相关推荐
Swift 学习笔记 Swift 是一种现代化的高性能编程语言,旨在为 iOS、macOS、watchOS 和 tvOS 等苹果平台上的应用程序提供强大的开发能力。本文将总结 Swift 的一些基础知识,包括基本语法、变量声明、数据类型、控制...
4. 字符串和字符:解释了字符串和字符字面量、字符串连接、字符串的编码和解码、字符串的检查和比较、字符串反转、检查字符串是否包含特定字符集、字符串迭代、字符串分割为数组、Unicode处理、字符串与数值类型的...
这篇学习笔记主要涵盖了Swift的基础知识和关键特性,旨在帮助初学者理解并掌握这种现代、强大且易读的语言。 一、Swift语言基础 Swift的语法简洁明了,易于理解。它引入了类型推断,使得编写代码时可以减少冗余的...
本学习笔记将深入探讨Swift的基础知识,帮助初学者快速掌握这一强大的工具。 一、Swift简介 Swift是由Apple在2014年WWDC(全球开发者大会)上推出的,旨在提高开发效率和代码安全。它吸收了Objective-C的优点,同时...
这个函数名为`greet`,它接受一个名为`name`的字符串参数,并打印出问候语。在Swift中,参数可以有默认值,这允许我们在调用函数时省略提供某些参数: ```swift func greet(name: String, greeting: String = ...
SwiftNote 是一个关于Swift编程语言的学习笔记集合,旨在帮助开发者深入了解和掌握Apple的这款现代、高性能的编程语言。这份笔记可能包含了从基础语法到高级特性的全面讲解,以及作者在学习过程中的心得和实践案例。...
1. print():用于在控制台输出信息,支持字符串插值,可以将变量嵌入字符串中。 2. println():与print()类似,但在输出结束后会增加回车换行。 知识点六:Swift语言与Xcode Swift代码可以在苹果的开发环境Xcode中...
### Swift编程语言程序基础学习笔记 Swift是一种现代且高效的编程语言,主要用于开发iOS、macOS、watchOS和tvOS的应用程序。本篇笔记将重点介绍Swift的基础知识点,涵盖代码注释、变量定义、数据类型、条件控制、...
`Act`类有一个`hasAct`方法,使用了Swift的`switch`语句来根据传入的整数标签返回不同的字符串结果。此外,类还包含了一个初始化方法`init`和一个析构方法`deinit`,分别在对象创建和销毁时打印日志信息。 在...
例如,创建一个包含字符串和整数的元组: ```swift let firstHighScore = ("Mary", 9001) ``` 此外,元组中的元素可以被命名,以便于访问和理解: ```swift let secondHighScore = (name: "James", score: 4096) ...
字符串在Swift中是`Character`的有序集合。你可以通过`for`循环遍历字符串中的每个字符。字符串还有`isEmpty`属性,用于判断是否为空,以及`hasPrefix`和`hasSuffix`方法,用于检查字符串的前缀和后缀。 Swift中的...
这篇“ios学习笔记之CKCalendar汉化”主要探讨了如何对这个库进行汉化处理,使其适应中文环境。 CKCalendar是由Chris Keathley开发的,它提供了一个类似于Apple原生日历应用的界面,具有自定义事件、多视图模式(如...
当我们查看源码中的特定模块,可能会涉及到Swift的标准库,这是Swift语言的核心组成部分,包含了诸如数组、字典、字符串等基本数据类型,以及各种操作这些类型的方法。通过学习这部分源码,我们可以了解到标准库是...
本篇学习笔记将深入探讨这一概念,以及如何在实际开发中有效地运用。 首先,理解Optional的基本概念是至关重要的。Optional是一种枚举类型,它有两个可能的值:包含实际值(非nil)或空值(nil)。在Swift中,使用...
7. **本地化文件**:如果应用支持多语言,可能会有相应的字符串文件`Localizable.strings`。 8. **框架和库引用**:应用可能依赖于Apple的SDK或其他第三方库。 通过分析这份源码,开发者可以学习到以下知识点: - ...
10. **国际化和本地化**:如果应用支持多语言,那么会涉及到字符串文件和Localizable.strings的使用,以实现不同语言环境下的内容展示。 通过深入研究这个iPad记事本应用的源码,开发者不仅可以学习到iOS开发的基本...
Swift的`switch`语句比许多其他语言更为强大,它不仅支持基本类型,还支持枚举、字符串、区间和元组。例如: ```swift var charac: Character = "b" switch charac { case "a": print("chara is a") case "b": ...
4. **模式匹配**:在switch语句中,Swift支持多种模式匹配,如整数、字符串、元组等,增强了代码的灵活性。 5. **泛型**:Swift的泛型允许编写可重用的代码,适用于多种数据类型。 6. **闭包**:Swift的闭包功能强大...
9. 字符串(String): Swift的String是不可变的字符序列,支持多种操作,如拼接、分割和搜索。它底层是Unicode编码,提供对多语言字符的支持。 10. 排序和查找算法: Swift中内置了多种排序算法,如`sort()`,同时,...
Swift Markdown Render将其与Swift语言的优雅结合,提供了易于使用的API,使得开发者可以方便地在自己的应用中集成Markdown支持。 在`Down-master`这个压缩包中,包含的是Swift Markdown Render项目的源代码和相关...