Swift中文教程(三) 字符串和字符
2014-06-04 16:30
411 查看
by
史薇芙特 · 2014年6月4日
一个字符串String就是一个字符序列,像”hello,world”,”albatross”这样的。Swift中的字符串是用String关键词来定义的,同时它也是一些字符的集合,用Character定义。
Swift的String和Character类型为代码提供了一个快速的,兼容Unicode的字符解决方案。String类型的初始化和使用都是可读的,并且和C中的strings类似。同时String也可以通过使用+运算符来组合,使用字符串就像使用Swift中的其他基本类型一样简单。
1、字符串常量
在代码中可以使用由String预先定义的字符串常量,定义方式非常简单:
let someString = “Some string literal value”
字符串常量可以包括下面这些特殊字符:
空字符\0,反斜杠\,制表符\t,换行符\n,回车符\r,双引号\”和单引号\’
单字节Unicode字符,\xnn,其中nn是两个十六进制数
双字节Unicode字符,\unnnn,其中nnnn是四个十六进制数
四字节Unicode字符,\Unnnnnnnn,其中nnnnnnnn是八个十六进制数
下面的代码给出了这四种字符串的例子:
let wiseWords = “\”Imagination is more important than knowledge\” – Einstein”
// “Imagination is more important than knowledge” – Einstein
let dollarSign = “\x24″ // $, Unicode scalar U+0024
let blackHeart = “\u2665″ // ♥, Unicode scalar U+2665
let sparklingHeart = “\U0001F496″ // , Unicode scalar U+1F496
2、初始化一个空串
初始化一个空串时有两种形式,但是两种初始化方法的结果都一样,表示空串
var emptyString = “” // empty string literal
var anotherEmptyString = String() // initializer syntax
// these two strings are both empty, and are equivalent to each other
通过isEmpty属性可以检查一个字符串是否为空
if emptyString.isEmpty {
println(“Nothing to see here”)
}
// prints “Nothing to see here”
3、变长字符串
如果使用var关键词定义的字符串即为可修改的变长字符串,而let关键词定义的字符串是常量字符串,不可修改。
var variableString = “Horse”
variableString += ” and carriage”
// variableString is now “Horse and carriage”
let constantString = “Highlander”
constantString += ” and another Highlander”
// this reports a compile-time error – a constant string cannot be modified
4、字符串不是指针,而是实际的值
在Swift中,一个String类型就是一个实际的值,当定义一个新的String,并且将之前的String值拷贝过来的时候,是实际创建了一个相等的新值,而不是仅仅像指针那样指向过去。
同样在函数传递参数的时候,也是传递的实际值,并且创建了一个新的字符串,后续的操作都不会改变原有的String字符串。
5、字符
Swift的字符串String就是由字符Character组成的,每一个Character都代表了一个特定的Unicode字符。通过for-in循环,可以遍历字符串中的每一个字符:
for character in “Dog!” {
println(character)
}
// D
// o
// g
// !
//
你也可以仅仅定义一个单独的字符:
let yenSign: Character = “¥”
6、字符计数
使用全局函数countElements可以计算一个字符串中字符的数量:
let unusualMenagerie = “Koala , Snail , Penguin , Dromedary ”
println(“unusualMenagerie has (countElements(unusualMenagerie)) characters”)
// prints “unusualMenagerie has 40 characters”
7、组合使用字符和字符串
String和Character类型可以通过使用+号相加来组合成一个新的字符串
let string1 = “hello”
let string2 = ” there”
let character1: Character = “!”
let character2: Character = “?”
let stringPlusCharacter = string1 + character1 // equals “hello!”
let stringPlusString = string1 + string2 // equals “hello there”
let characterPlusString = character1 + string1 // equals “!hello”
let characterPlusCharacter = character1 + character2 // equals “!?”
也可以使用+=号来组合:
var instruction = “look over”
instruction += string2
// instruction now equals “look over there”
var welcome = “good morning”
welcome += character1
// welcome now equals “good morning!”
8、使用字符串生成新串
通过现有的字符串,可以使用如下方法来生成新的字符串:
let multiplier = 3
let message = “(multiplier) times 2.5 is (Double(multiplier) * 2.5)”
// message is “3 times 2.5 is 7.5″
在上面这个例子中,首先使用multiplier这个字符串3,来作为新串的一部分,用(multiplier)添加,同时上面的例子还用到了类型转换Double(multiplier),将计算结果和字符串本身都作为元素添加到了新的字符串中。
感谢翻译小组成员:李起攀(微博)、若晨(微博)、Tiger大顾(微博)
翻译进行中,预计4日晚更新完毕,敬请期待~
史薇芙特 · 2014年6月4日
一个字符串String就是一个字符序列,像”hello,world”,”albatross”这样的。Swift中的字符串是用String关键词来定义的,同时它也是一些字符的集合,用Character定义。
Swift的String和Character类型为代码提供了一个快速的,兼容Unicode的字符解决方案。String类型的初始化和使用都是可读的,并且和C中的strings类似。同时String也可以通过使用+运算符来组合,使用字符串就像使用Swift中的其他基本类型一样简单。
1、字符串常量
在代码中可以使用由String预先定义的字符串常量,定义方式非常简单:
let someString = “Some string literal value”
字符串常量可以包括下面这些特殊字符:
空字符\0,反斜杠\,制表符\t,换行符\n,回车符\r,双引号\”和单引号\’
单字节Unicode字符,\xnn,其中nn是两个十六进制数
双字节Unicode字符,\unnnn,其中nnnn是四个十六进制数
四字节Unicode字符,\Unnnnnnnn,其中nnnnnnnn是八个十六进制数
下面的代码给出了这四种字符串的例子:
let wiseWords = “\”Imagination is more important than knowledge\” – Einstein”
// “Imagination is more important than knowledge” – Einstein
let dollarSign = “\x24″ // $, Unicode scalar U+0024
let blackHeart = “\u2665″ // ♥, Unicode scalar U+2665
let sparklingHeart = “\U0001F496″ // , Unicode scalar U+1F496
2、初始化一个空串
初始化一个空串时有两种形式,但是两种初始化方法的结果都一样,表示空串
var emptyString = “” // empty string literal
var anotherEmptyString = String() // initializer syntax
// these two strings are both empty, and are equivalent to each other
通过isEmpty属性可以检查一个字符串是否为空
if emptyString.isEmpty {
println(“Nothing to see here”)
}
// prints “Nothing to see here”
3、变长字符串
如果使用var关键词定义的字符串即为可修改的变长字符串,而let关键词定义的字符串是常量字符串,不可修改。
var variableString = “Horse”
variableString += ” and carriage”
// variableString is now “Horse and carriage”
let constantString = “Highlander”
constantString += ” and another Highlander”
// this reports a compile-time error – a constant string cannot be modified
4、字符串不是指针,而是实际的值
在Swift中,一个String类型就是一个实际的值,当定义一个新的String,并且将之前的String值拷贝过来的时候,是实际创建了一个相等的新值,而不是仅仅像指针那样指向过去。
同样在函数传递参数的时候,也是传递的实际值,并且创建了一个新的字符串,后续的操作都不会改变原有的String字符串。
5、字符
Swift的字符串String就是由字符Character组成的,每一个Character都代表了一个特定的Unicode字符。通过for-in循环,可以遍历字符串中的每一个字符:
for character in “Dog!” {
println(character)
}
// D
// o
// g
// !
//
你也可以仅仅定义一个单独的字符:
let yenSign: Character = “¥”
6、字符计数
使用全局函数countElements可以计算一个字符串中字符的数量:
let unusualMenagerie = “Koala , Snail , Penguin , Dromedary ”
println(“unusualMenagerie has (countElements(unusualMenagerie)) characters”)
// prints “unusualMenagerie has 40 characters”
7、组合使用字符和字符串
String和Character类型可以通过使用+号相加来组合成一个新的字符串
let string1 = “hello”
let string2 = ” there”
let character1: Character = “!”
let character2: Character = “?”
let stringPlusCharacter = string1 + character1 // equals “hello!”
let stringPlusString = string1 + string2 // equals “hello there”
let characterPlusString = character1 + string1 // equals “!hello”
let characterPlusCharacter = character1 + character2 // equals “!?”
也可以使用+=号来组合:
var instruction = “look over”
instruction += string2
// instruction now equals “look over there”
var welcome = “good morning”
welcome += character1
// welcome now equals “good morning!”
8、使用字符串生成新串
通过现有的字符串,可以使用如下方法来生成新的字符串:
let multiplier = 3
let message = “(multiplier) times 2.5 is (Double(multiplier) * 2.5)”
// message is “3 times 2.5 is 7.5″
在上面这个例子中,首先使用multiplier这个字符串3,来作为新串的一部分,用(multiplier)添加,同时上面的例子还用到了类型转换Double(multiplier),将计算结果和字符串本身都作为元素添加到了新的字符串中。
感谢翻译小组成员:李起攀(微博)、若晨(微博)、Tiger大顾(微博)
翻译进行中,预计4日晚更新完毕,敬请期待~
相关文章推荐
- 【Swift中文教程】-- 字符串和字符
- Swift中文教程(三) 字符串和字符
- Swift中文教程(三) 字符串和字符
- Swift中文教程(三) 字符串和字符
- Swift中文教程(三) 字符串和字符
- Swift中文教程(三) 字符串和字符
- swift中文文档翻译之--字符串和字符
- Swift教程之字符串和字符详解
- Swift学习笔记 - 教程学习二 字符串和字符(Strings and Characters)
- The Swift Programming Language-官方教程精译Swift(4)字符串和字符
- swift菜鸟入门视频教程-03-字符串和字符
- swift 下 UNcode字符串 转为中文字符
- swift基础教程——字符和字符串
- swift菜鸟入门视频教程-03-字符串和字符
- 苹果Swift语言中文教程(三) 字符串和字符
- Swift3.0中文教程:3.字符串和字符
- sql计算字符串中包含中文、英文字符长度
- C# 判断中文字符(字符串)
- C# 判断中文字符(字符串)
- C# DES 加密/解密类库,支持文件和中文/UNICODE字符,返回BASE64编码字符串