swift基本语法(总结提炼版)之009 swift 之字符串

原创 2016年06月01日 15:04:51

字符串

Swift 中绝大多数的情况下,推荐使用 String 类型

使用 String 的原因

  • String 是一个结构体,性能更高
    • String 目前具有了绝大多数 NSString 的功能
    • String 支持直接遍历
  • NSString 是一个 OC 对象,性能略差
  • Swift 提供了 String 和 NSString 之间的无缝转换

遍历字符串

let str = "我要飞的更High"


for s in str {

    print(s)

}

字符串拼接

let str1 = "zhangsan"

let str2 = "lisi"

let i = 10


print(str1 + str2)

print("\(str1) \(str2) \(i)")

  • 阶段性小结
    • 直接在 "" 中使用 \(变量名) 的方式可以快速拼接字符串
    • 小伙伴们再也不要考虑 stringWithFormat 了

格式化字符串

for _ in 0...10 {

    let str = String(format: "zhangsan - %04d", arguments: [arc4random_uniform(100)])

    print(str)

}

  • 阶段性小结
    • 在实际开发中,如果需要指定字符串格式,可以使用 String(format:...) 的方式
    • 注意:后面的参数需要放在一个数组中

String & Range 的结合

以下是超级费劲的代码

let str: String = "我要飞的更High"


var subStr = str.substringWithRange(Range<String.Index>(start: str.startIndex, end: str.endIndex))

print(subStr)

建议写法

let str1: NSString = "我要飞的更High"

print(str1.substringWithRange(NSMakeRange(0, 3)))



操练:

/*

字符:

OC: char charValue = 'a';

*/



var charValue1:Character = "a"



/*

Swift和OC字符不一样

1.Swift是用双引号

2.Swift中的字符类型和OC中的也不一样, OC中的字符占一个字节,因为它只包含ASCII表中的字符, 而Swift中的字符除了可以存储ASCII表中的字符还可以存储unicode字符, 

例如中文:

OC:char charValue = '李'; // 错误

Swift: var charValue2:Character = "李" // 正确



OC的字符是遵守ASCII标准的,Swift的字符是遵守unicode标准的, 所以可以存放时间上所有国家语言的字符(大部分)

*/

var charValue2:Character = "李" //正确



/*

注意: 双引号中只能放一个字符, 如下是错误写法

var charValue3:Character = "ab"

*/





/*

字符串:

字符是单个字符的集合, 字符串是多个字符的集合, 想要存放多个字符需要使用字符串



C:

char *stringValue = "ab";

char stringArr = "ab";



OC:

NSString *stringValue = "ab";

*/



var stringValue1 = "ab"



/*

C语言中的字符串是以\0结尾的, 例如:

char *stringValue = "abc\0bcd";

printf("%s", stringValue);

打印结果为abc



OC语言中的字符串也是以\0结尾的, 例如:

NSString *stringValue = @"abc\0bcd";

NSLog(@"%@", stringValue);

打印结果为abc

*/



var stringValue2 = "abc\0bcd"

print(stringValue2)

// 打印结果为abcbcd

// 从此可以看出Swift中的字符串和C语言/OC语言中的字符串是不一样的

Baidu Button BEGIN







Baidu Button END 172.16.140.13 Baidu Button BEGIN Baidu Button END

0


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

相关文章推荐

swift基本语法(总结提炼版)之002逻辑分支

简单体验 var i = 10 if i > 0 { print("OK") } 阶段性小结 Swift 中没有 C 语言中的非零即真概念在逻辑判断时必须显示地指明具体的判断条件if ...

swift基本语法(总结提炼版)之004 Swift之 for 循环

循环 OC风格的 for // 传统写法 for var i = 0; i 10; i++ { print(i) } Swift风格的 for // 遍历 0 ~ for i in 0.....

swift基本语法(总结提炼版)之003 Swift类型转换

/* Swift不允许隐式类型转换, 但可以使用显示类型转换(强制类型转换) OC: int intValue = 10; double doubleValue = (double)intValue;...

swift_0 基本语法示例demo

  • 2016年01月13日 10:36
  • 46KB
  • 下载

swift基本语法示例代码

  • 2016年04月19日 10:15
  • 134KB
  • 下载

Swift语法_字符和字符串

字符串,结构体,枚举都是值类型Value TypesSwift 的 String 类型是值类型。 如果您创建了一个新的字符串,那么当其进行常量、变量赋值操作,或在函数/ 方法中传递时,会进行值拷贝。 ...

Swift基本语法(中文版)

  • 2014年11月05日 17:31
  • 12.21MB
  • 下载

Swift笔记 基本语法 Array和Dictionary的使用方法

http://qiita.com/hachinobu/items/d591d0cba23b6dfec559 // 不可变String数组 let names: String[] = ["name5"...

Swift 学习笔记一 基本数据类型和简单语句语法

第一个程序新建xcode项目,语言选择Swift 建立项目后可以直接Command+R运行。 修改程序ViewController.swift// // ViewController.swift...
  • xundh
  • xundh
  • 2015年06月09日 12:25
  • 706

Swift基本语法 - let/var

变量和常量 定义 let 定义常量,一经赋值不允许再修改var 定义变量,赋值之后仍然可以修改 //: # 常量 //: 定义常量并且直接设置数值 let x = 20 //: 常量数值一经设置,不...
  • WZ_LV
  • WZ_LV
  • 2016年07月26日 12:50
  • 158
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:swift基本语法(总结提炼版)之009 swift 之字符串
举报原因:
原因补充:

(最多只允许输入30个字)