Swift学习笔记(十六)——String字符串的基础操作

字符串作为一种十分重要的数据类型,有着很多的操作方法。我们一一来讲解。

(1)String Interpolation:字符串插值

不同的数据类型可以在打印的时候作为字符串的类型进行输出,可以使用“\(变量)”的方式进行输出。具体代码如下:可以发现在Swift中\n也是换行。在例子中用到了Swift中最重要的几类数据类型。

var siInt:Int = 2;
var siDouble:Double = 3.1415926
var siBool:Bool = true
var siString:String = "hello"
var siTuple:(Int,Int) = (2,4)
var siOptional:Int? = 23
var siCharacter:Character = "H"

println("Int=\(siInt) \nDouble=\(siDouble) \nBool=\(siBool) \nString=\(siString) \nTuple=\(siTuple) \nOptional=\(siOptional!) \nCharacter=\(siCharacter)")

输出结果:

(2)String Comparing:字符串比较

Swift中字符串的比较也同其他语言一样,使用的是字典序的方式比较。字典序靠后的较大。这里的比较是通过“==”,“>”,"<",">=","<=","!="等逻辑运算符进行的。返回的是布尔值。代码如下:

var str1:String = "abc"
var str2:String = "abd"
str1 == str2
str1 < str2
str1 > str2
str1 != str2

输出结果如下:

(3)String Prefix ;String Suffix,字符串前缀,字符串后缀

这两个方法类似于Java中的startWith(),endWith()方法。可以用来检查一个字符串中的是否含有某个前缀,或者某个后缀。看一个例子,我需要检索数组中以“a”打头的元素有几个。

let arrayTest = ["abc","bhe","afdf","123","frgfs","4223523","2","dfsg"]
var count:Int = 0
for index in arrayTest{

    if index.hasPrefix("a"){

        count++
    }
}

println(count)

输出结果:根据结果,hasPrefix() 方法成功判断出前缀包含“a”的字符串。符合我们的预期。hasSuffix() 方法也是类似的。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-14 01:20:06

Swift学习笔记(十六)——String字符串的基础操作的相关文章

Swift学习笔记十六:协议

Protocol(协议)用于统一方法和属性的名称,而不实现不论什么功能. 协议可以被类.枚举.结构体实现.满足协议要求的类,枚举,结构体被称为协议的遵循者. 遵循者须要提供协议指定的成员,如属性,方法,操作符,下标等. 一.协议的基本的语法 咱们还是先上代码吧 protocol Human { var name:String{ get set } var isMan:Bool{set get} class var isUsable:Bool { set get } //类成员.表示这个类是否可用

C++学习笔记十六-模板和泛型编程(二)

C++学习笔记十六-模板和泛型编程(二) 16.4 类模板成员 1.模板作用域中模板类型的引用: 通常,当使用类模板的名字的时候,必须指定模板形参.这一规则有个例外:在类本身的作用域内部,可以使用类模板的非限定名.例如,在默认构造函数和复制构造函数的声明中,名字 Queue 是 Queue<Type> 缩写表示.实质上,编译器推断,当我们引用类的名字时,引用的是同一版本.因此,复制构造函数定义其实等价于: Queue<Type>(const Queue<Type> &a

Swift学习笔记十:属性

1.存储属性       1. 作为特定类或结构实例的一部分,存储属性存储着常量或者变量的值.存储属性可分为变量存储属性(关键字var描述)和常量存储属性(关键字let描述). struct student{ let name = "" var score = 0 } let a = student(name:"小笨狼",score:96)           注意:                ① 定义储存属性时,需要为每一个属性定义一个默认值.在初始化的时候,

Swift学习笔记十四:构造(Initialization)

类和结构体在实例创建时,必须为所有存储型属性设置合适的初始值.存储型属性的值不能处于一个未知的状态. 你可以在构造器中为存储型属性赋初值,也可以在定义属性时为其设置默认值.以下章节将详细介绍这两种方法. 注意: 当你为存储型属性设置默认值或者在构造器中为其赋值时,它们的值是被直接设置的,不会触发任何属性观测器(property observers). 一.基本语法 class Human{ var name :String init(){ name = "human" } init(n

Swift 学习笔记十五:扩展

扩展就是向一个已有的类.结构体或枚举类型添加新功能(functionality).扩展和 Objective-C 中的分类(categories)类似.(不过与Objective-C不同的是,Swift 的扩展没有名字.) Swift 中的扩展可以: 1.添加计算型属性和计算静态属性 2.定义实例方法和类型方法 3.提供新的构造器 4.定义下标 5.定义和使用新的嵌套类型 6.使一个已有类型符合某个协议 一.扩展属性,构造器,方法 class Human{ var name:String? va

Swift学习笔记十二:下标脚本(subscript)

下标脚本就是对一个东西通过索引,快速取值的一种语法,例如数组的a[0].这就是一个下标脚本.通过索引0来快速取值.在Swift中,我们可以对类(Class).结构体(structure)和枚举(enumeration)中自己定义下标脚本的语法 一.常规定义 class Student{ var scores:Int[] = Array(count:5,repeatedValue:0) subscript(index:Int) -> Int{ get{ return scores[index];

MYSQL进阶学习笔记十六:MySQL 监控!(视频序号:进阶_35)

知识点十六:MySQL监控(35) 一.为什么使用MySQL监控 随着软件后期的不断升级,myssql的服务器数量越来越多,软硬件故障的发生概率也越来越高.这个时候就需要一套监控系统,当主机发生异常时,此时通过监控系统发现和处理. 这个监控实际上是在我们的开发完成之后,这个时候软件就开始在运行,这个运行我们就需要去关注到mysql服务器是否正常,那么我们要观察它就需要给它提供一些监控,这监控就是当它发生故障之后, 那么我们这个监控就会告诉我们到底什么地方发生了一些异常或者一些错误,这个时候我们就

Swift学习笔记(六)

十二 下标 1.下标语法 下标可以让你通过实例名后加中括号内一个或多个数值的形式检索一个元素.语法和方法语法和属性语法类似,通过使用subscript关键定义,一个或多个输入参数以及一个返回值.不同于实例方法的是,下标可以是可读写的或者只读的.这种行为通过一个getter和setter语句联通,就像是计算属性一样. subscript(index: Int) -> Int { get { return an appropriate subscript value here } set(newVa

Swift学习笔记十

枚举 一个枚举为一组相关联的值定义一个通用类型,并且让你可以在代码中类型安全地操作这些值. C中的枚举将关联的名字指派给一系列整型值.Swift中的枚举类型更为活泼,并不需要为每个成员指定值,如果指定值(raw value),这个值可以是String或者Character.整型或者浮点型. 此外,每个枚举成员可以指定不同数量的任意类型的关联值存储起来.这有点像其他语言里的联合.你可以定义一个普通的一系列关联值的集合作为一个枚举的一部分,每个枚举都可以有一个适当类型的不同集合. 在Swift中,枚