Swift - String

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)
时间: 2024-10-12 13:20:31

Swift - String的相关文章

[Swift]String的坑

在String中获取某个位置的Character,各Swift版本的差异 Swift 3.0 let text = "abc" let index2 = text.index(text.startIndex, offsetBy: 2) //will call succ 2 times let lastChar: Character = text[index2] //now we can index! let characterIndex2 = text.characters.index

Swift String length property

Swift的String竟然没有length属性,好难受,每次要获取String的字符串长度都要借助全局函数countElements. 没办法,只有扩展String结构体,给它添加一个属性了. import Foundation extension String { // readonly computed property var length: Int { return countElements(self) } } let a = "hechengmen" println(a.

Swift - String, Character

String, Character String 在 Swift 中使用双引号(")作为界限: let greeting = "Hello!" // greeting's type is String Character 可以从string初始化,只要只包含一个字符: let chr: Character = "H" // valid let chr2: Character = "??" // valid let chr3: Chara

Swift - String与NSString的区别,以及各自的使用场景

String是Swift里新增加的类型,它与原来的NSString可以很方便地互相转换.但在实际开发中,我们该如何选择? 1,能使用String类型就尽量使用String类型,原因如下: (1)现在Cocoa里所有的API都能接受和返回String类型,所以也没必要特地转换下. (2)Swift的String是struct,而NSString类是NSObject,所以String更符合字符串“不变”这一特性.同时,在不触及NSString特有操作和动态特性的时候,使用String的方法,在性能上

Swift String 一些常用方法

直接上代码 //字符串 //1 判断字符串是否为空 var test1Str="" var test1Str2:String = String(); println("test1Str" + (test1Str.isEmpty ? "没有值" : "有值")) println("test1Str2" + (test1Str2.isEmpty ? "没有值" : "有值"

Swift String类型常规操作

去除string 首尾的空格var str = " Hello the world   "let whitespace = NSCharacterSet.whitespaceAndNewlineCharacterSet()str = str.stringByTrimmingCharactersInSet(whitespace)  如下图效果: 陆续添加中...

swift String 扩展

// import Foundation import UIKit /// /// @brief String的通用扩展方法 /// extension String { /// /// @brief 获取字符串的高度 /// @param fontSize 字体大小 /// @param width 限制一行显示的宽度 /// @return 返回文本在width宽度的条件下的总高度 /// func height(let fontSize: CGFloat, let width: CGFlo

swift - String 子串

///1, 截取规定下标之后的字符串 func subStringFrom(index: Int) -> String { let temporaryString: String = self let temporaryIndex = temporaryString.index(temporaryString.startIndex, offsetBy: index) return String(temporaryString[temporaryIndex...]) } ///2, 截取规定下标之

swift string转double

let  str = "10.0"let double = (str as NSString).doubleValue