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基本语法(总结提炼版)之009 swift 之字符串

字符串 在 Swift 中绝大多数的情况下,推荐使用 String 类型 使用 String 的原因 String 是一个结构体,性能更高 String 目前具有了绝大多数 N...
  • sunnyboy9
  • sunnyboy9
  • 2016年02月24日 23:12
  • 503

swift基本语法(总结提炼版)之008 swift 之字典

字典 /// 定义并实例化字典 var dict = [String: AnyObject]() dict["name"] = "zhangsan" dict["age"] = 18 print...
  • sunnyboy9
  • sunnyboy9
  • 2016年02月24日 23:08
  • 663

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

循环 OC风格的 for // 传统写法 for var i = 0; i 10; i++ { print(i) } Swift风格的 for // 遍历 0 ~ for i in 0.....
  • sunnyboy9
  • sunnyboy9
  • 2016年02月23日 23:25
  • 672

swift基本语法(总结提炼版)之012 swift 之闭包

一:swift 之闭包就相当于objective-c中的block,先来段block代码 #import "ViewController.h" typedef void (^FINISHED)()...
  • sunnyboy9
  • sunnyboy9
  • 2016年04月05日 23:23
  • 250

swift基本语法(总结提炼版)之007 swift之数组

数组 简单体验 let arr = ["zhangsan", "lisi"] print(arr) // 遍历每一个元素 for a in arr { print(a) } // 像 OC...
  • sunnyboy9
  • sunnyboy9
  • 2016年02月24日 23:04
  • 736

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

/* while循环 格式:while(循环保持条件){需要执行的语句} OC: int i = 0; int sum = 0; while (i     sum = i++; } ...
  • sunnyboy9
  • sunnyboy9
  • 2016年02月23日 23:35
  • 233

swift基本语法(总结提炼版)之010 swift 之函数

函数 简单演练 func sum(a: Int, b: Int) -> Int { return a + b } 阶段性小结 函数定义格式:func 函数名(参数: 参数类型...
  • sunnyboy9
  • sunnyboy9
  • 2016年02月25日 22:52
  • 252

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

/* Swift不允许隐式类型转换, 但可以使用显示类型转换(强制类型转换) OC: int intValue = 10; double doubleValue = (double)intValue;...
  • sunnyboy9
  • sunnyboy9
  • 2016年02月21日 23:42
  • 317

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

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

swift基本语法(总结提炼版)之001常量&变量

简单体验 // 定义变量 var i = 10 print(i) i = 15 print(i) let j = 20 // 常量一经定义不能自改数值 // j = 25 print(...
  • sunnyboy9
  • sunnyboy9
  • 2016年02月21日 23:30
  • 283
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:swift基本语法(总结提炼版)之009 swift 之字符串
举报原因:
原因补充:

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