Swift - String

本文深入介绍了Swift语言中字符串的基础知识及使用技巧,包括字符串字面量、初始化、可变性、字符遍历、字符串拼接、插值、比较以及大小写转换等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、String 基础

1.字符串字面量

字符串字面量: 字符串字面量是由双引号包裹着的具有固定顺序的文本字符

例如: let = someString = "Hello World!"

字符串常量可包含的字符:

1. 转义字符 \0(空字符)\\(反斜线)\t(水平制表符)\n(换行符)\r(回车符)\"(双引号)\'(单引号)

2. 单字符 Unicode标量, 写成 \xnn,其中 nn 为两位十六进制数。

2. 单字符 Unicode标量, 写成 \unnnn,其中 nnnn 为四位十六进制数。

2. 单字符 Unicode标量, 写成 \Unnnnnn,其中 nnnnnn 为八位十六进制数。


2.初始化空字符串

空字符串: var emptyString =""

var emptyString = String()

// 两个字符串都为空,并且两者等价


判断字符串是否为空: (1) (BOOL)isEmpty

(2) count(string1) ==0


3.字符串可变性

字符串是否可被修改: 将字符串分配给一个变量(可对其进行修改)

将字符串废品给一个常量(不可对其进行修改)

字符串拼接: var str ="111"

str +=  "333"

// :字符串拼接后 str 地址发生变化

// Swift String类型是值类型。!!!


4.字符串是值类型

Stirng: 如果你创建了一个新的字符串值,那么当其进行常量、变量粗制操作或在函数方法中传递时,会进行值拷贝。

在不同情况下,都会对已有字符串创建新副本, 并对新副本进行传递或赋值

比较: OC

Swift

5.使用字符

遍历: for-in

创建独立的字符常量或变量: var yenSign: Character ="Y"


6.计算字符量

计算字符量: var test ="www eee rrr"

println("count:\(count(test))")

// countElements has been renamed to count

// count 函数必须遍历字符串中的字符,以精准计算字符串的长度


7.链接字符串和字符

可以通过 (+) 连接

也可以通过 (+=) 连接

// :不能将一个字符串或字符添加到一个已经存在的字符变量上, 因为字符变量只能包含一个字符


8.字符串插值

字符串插值: 插入的字符串字面量的每一项都被包裹在"\()"

// :插值字符串中写在括号中得表达式不能包含非转义双引号(")和反斜杠(\)并且不能包含回车或换行符


9.比较字符串

1.  ==  比较两个字符是否相等

2. hasPrefix (开头)

3. hasSuffix (结尾)


10.大写和小写字符串

1. uppercaseString (大写)

2. lowercaseString (小写)

2、String 使用

1.NSString 和 String 的相互装换

NSString 转换 String

var text: NSString = NSString(CString: titleLabel!.text!.cStringUsingEncoding(NSUTF8StringEncoding)!,
encoding: NSUTF8StringEncoding)!

2.UI中计算文字的尺寸

let size = CGSize(width: Int.max, height: Int.max)
let boundSize =  titleLabel?.text!.boundingRectWithSize(size, options: NSStringDrawingOptions.UsesLineFragmentOrigin, attributes: [NSFontAttributeName : UIFont.systemFontOfSize(15.0)], context: nil)



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值