1. 不可变字符串

Objective-C:

NSString *string1 = @"Hello World!";

Swift:

let string1 = "Hello world!"

2. 可变字符串

Objective-C:

NSMutableString *string2 = [NSMutableString new];
NSMutableString *string3 = [@"" mutableCopy];

Swift:

var string2 = String()
var string3 = ""

3. 输出

Objective-C:

NSLog(@"%lu", (unsigned long)string1.length); // Prints "12"
NSLog(@"%i", !string2.length); // Prints "1"
NSLog(@"%i", [string1 hasPrefix:@"Hello"]); // Prints "1"
NSLog(@"%i", [string1 hasSuffix:@"earth!"]);// Prints "0"

Swift:

println(string1.utf16Count)                // Prints "12"
println(countElements(string1)) // Prints "12"
println(string2.isEmpty) // Prints "true"
println(string1.hasPrefix("Hello")) // Prints true
println(string1.hasSuffix("earth!")) // Prints false

4. 比较

Objective-C:

// Prints "string2 equals string3"
if ([string2 isEqualToString:string3]) {
NSLog(@"string2 equals string3");
}

Swift:

// Prints "string2 equals string3"
if string2 == string3 {
println("string2 equals string3")
}

5. 转换

Objective-C:

NSString *fiveString = [@ stringValue]; // "5"
NSInteger five = [fiveString integerValue];

Swift:

let fiveString = "\(5)"                         // "5"
let five = fiveString.toInt()!
let pi = Double((π as NSString).doubleValue) // 3.14

6. Copy and Mutable Copy

Objective-C:

NSMutableString *string4 = [string1 mutableCopy];
[string4 appendFormat:@"Am I alone?"];
NSLog(@"%@", string1); // Prints "Hello world!"
NSLog(@"%@", string4); // Prints "Hello world! Am I alone?"
NSMutableString *string5 = string4;
[string5 replaceCharactersInRange:NSMakeRange(, )
withString:@"How do you like me now"];
// Prints "Hello world! How do you like me now?"
if ([string4 isEqualToString:string5]) {
NSLog(@"%@", string5);
} NSMutableString *tempHigh = [@"" mutableCopy];
NSMutableString *tempLow = [@"" mutableCopy];
NSString *degreeF = @"\u2109";
[tempHigh appendString:degreeF];
[tempLow appendString:degreeF]; // Prints "High/Low: 85°F/70°F"
NSLog(@"High/Low: %@/%@", tempHigh, tempLow);

Swift:

var string4 = string1
string4 += " Am I alone?"
println(string1) // Prints "Hello world!"
println(string4) // Prints "Hello world! Am I alone?"
var string5 = string4
let startIndex = advance(string5.startIndex, )
string5.replaceRange(startIndex..<string5.endIndex, with: "How do you like me now?")
// Prints "Hello world! How do you like me now?"
if string4 != string5 {
println(string5)
} var tempHigh = ""
var tempLow = ""
let degreeF: Character = "\u{2109}"
tempHigh.append(degreeF)
tempLow.append("\u{2109}" as Character)
// Prints "High/Low: 85°F/70°F"
println("High/Low: \(tempHigh)/\(tempLow)")

Swift学习笔记 - 字符串的更多相关文章

  1. 【swift学习笔记】二.页面转跳数据回传

    上一篇我们介绍了页面转跳:[swift学习笔记]一.页面转跳的条件判断和传值 这一篇说一下如何把数据回传回父页面,如下图所示,这个例子很简单,只是把传过去的数据加上了"回传"两个字 ...

  2. Swift学习笔记(一)搭配环境以及代码运行成功

    原文:Swift学习笔记(一)搭配环境以及代码运行成功 1.Swift是啥? 百度去!度娘告诉你它是苹果最新推出的编程语言,比c,c++,objc要高效简单.能够开发ios,mac相关的app哦!是苹 ...

  3. 《python基础教程(第二版)》学习笔记 字符串(第3章)

    <python基础教程(第二版)>学习笔记 字符串(第3章)所有的基本的序列操作(索引,分片,乘法,判断成员资格,求长度,求最大最小值)对字符串也适用.字符串是不可以改变的:格式化输出字符 ...

  4. swift学习笔记5——其它部分(自动引用计数、错误处理、泛型...)

    之前学习swift时的个人笔记,根据github:the-swift-programming-language-in-chinese学习.总结,将重要的内容提取,加以理解后整理为学习笔记,方便以后查询 ...

  5. swift学习笔记3——类、结构体、枚举

    之前学习swift时的个人笔记,根据github:the-swift-programming-language-in-chinese学习.总结,将重要的内容提取,加以理解后整理为学习笔记,方便以后查询 ...

  6. swift学习笔记1——基础部分

    之前学习swift时的个人笔记,根据github:the-swift-programming-language-in-chinese学习.总结,将重要的内容提取,加以理解后整理为学习笔记,方便以后查询 ...

  7. Swift学习笔记一

    最近计划把Swift语言系统学习一下,然后将MagViewer用这种新语言重构一次,并且优化一下,这里记录一下Swift的学习笔记. Swift和Objective-C相比,在语法和书写形式上做了很多 ...

  8. 记录:swift学习笔记1-2

    swift还在不断的更新做细微的调整,都说早起的鸟儿有虫吃,那么我们早点出发吧,趁着国内绝大多数的coder们还没有开始大范围普遍应用. 网上有些大神说:swift很简单!我不同意这个观点,假如你用h ...

  9. swift学习笔记4——扩展、协议

    之前学习swift时的个人笔记,根据github:the-swift-programming-language-in-chinese学习.总结,将重要的内容提取,加以理解后整理为学习笔记,方便以后查询 ...

随机推荐

  1. FastReport.Net使用:[16]图片控件使用

    FastReport中,图片(Picture)控件的用法? 支持的图片格式 1.BMP, PNG, JPG, GIF, TIFF, ICO, EMF, WMF 支持的数据源 支持图片,数据列,文件名, ...

  2. Hibernate 注解方式配置

    在Hibernate3之后就可以使用注解的方式去配置.而且在工作中我们使用的更多的也是注解方式去配置项目,所以还有一部分使用配置文件去配置的一些关系就不在此去一一举例,需要了解的朋友可以去查看Hibe ...

  3. HDU 1272(并查集)

    小希的迷宫 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submi ...

  4. 【贪心】hdu4803 Poor Warehouse Keeper

    题意:一开始有1个物品,总价是1.你的一次操作可以要么使得物品数量+1,总价加上当前物品的单价.要么可以使得总价+1,物品数量不变.问你最少要几次操作从初始状态到达有x个物品,总价是y的状态.这里的y ...

  5. 注解@Aspect实现AOP功能

    springboot中pom引入jar <!-- aop 切面 --> <dependency> <groupId>org.springframework.boot ...

  6. 动软代码生成器连接Oracle 11g

      首先要说明的是:如果你连接的是远程的Oracle服务器,你本地机器必须装Oracle客户端,然后 用sqldeveloper 先建立一个连接. 然后你才能用.NET动软代码生成器连接到数据库. 因 ...

  7. 破解MyEclipse2015 stable3.0(亲测可用)

    整个破解过程最好断网: 1.安装好MyEclipse2015 stable3后,打开设置好工作目录后,退出.2.将plugins文件夹中的文件拷贝到myeclipse安装目录的plugins文件夹下, ...

  8. Low-cost ADC using only Digital I/O

    http://letsmakerobots.com/node/13843 Reading A Sensor With Higher Accuracy – RC Timing Method RC Tim ...

  9. MYSQL DBA大牛

    http://www.penglixun.com/masters_books/dba_masters

  10. IOS开关效果

    有IOS的开关模拟,当然也有MIUI的开关模拟 看到设置选项里面的开关样式,突发奇想地来试试    最终效果如图: <!DOCTYPE html> <html> <hea ...