03-Swift 字符串

01-字符串的基本操作

// 字符串字面量
var s = "Hello Swift"

// 空字符串的定义
var 空字符串1 = ""
var 空字符串2 = String()

// 判断字符串是否为空
if (空字符串1.isEmpty) {
    println("这个字符串为空") // 这个字符串为空
} else {
    println("这个字符串有值")
}

// 字符串赋值
s = "Hello World"

// 字符串拼接
s += "!"

// 字符串是字符的有序集合

for 字符 in s {
    println(字符)
}

var 单个字符 :Character = "v"

// 字符串和字符的互操作
let string1 = "Hello"
let string2 = " Swift"
let character1 : Character = "!"
let character2 : Character = "?"

let stringPlusCharacter = string1 + String(character1)
let stringPlusString = string1 + string2
let characterPlusCharacter = String(character1) + String(character2)
let characterPlusString = String(character1) + string1

// Unicode编码
let 闪亮的心 = "\u{1F496}"

// 计算字符串中字符的个数
countElements(s)

02-字符串的比较

// 字符串的相等比较
let a = "Hello Swift"
let b = "Hello Swift"

if (a == b) {
    println("两个字符串相等")
} else {
    println("两个字符串不等")
}

// 字符串的前缀与后缀比较
let 地区列表 = [
    "上海市宝山区",
    "上海市徐汇区",
    "上海市普陀区",
    "上海市崇明岛",
    "大连市中山区",
    "大连市旅顺口区",
    "大连市小平岛",
    "深圳市南山区",
    "深圳市福田区",
    "舟山市普陀区",
    "塔什库尔干塔吉克自治县",
    "首尔市江南区",
    "鹤岗市南山区",
    "台北市中山区",
    "木垒哈萨克自治县",
    "芜湖市南陵县",
    "博尔塔拉蒙古自治州",
    "巴音郭楞蒙古自治州",
    "伊春市友好区",
    "东京都港区",
    "双鸭山市宝山区",
    "抚远县黑瞎子岛",
    "马里亚拉群岛",
    "舟山群岛",
    "千岛群岛",
    "关岛",
    "南宁市江南区",
    "新疆维吾尔自治区和田县"
]

var 区数 = 0
var 县数 = 0
var 自治州数 = 0
var 岛数 = 0
var 宝山区数 = 0
var 属上海数 = 0
var 属大连数 = 0

// 字符串数组
var 区列表 = [String]()
var 县列表 = [String]()
var 自治州列表 = [String]()
var 岛列表 = [String]()
var 宝山区列表 = [String]()
var 属上海列表 = [String]()
var 属大连列表 = [String]()

for 地区 in 地区列表 {
    // 判断地区的后缀是否含有"区"
    if (地区.hasSuffix("区")) {
        // 自增更新
        ++区数
        
        // 在区列表数组的尾部插入地区
        区列表.append(地区)
    }
    if (地区.hasSuffix("县")) {
        ++县数
        县列表.append(地区)
    }
    if (地区.hasSuffix("自治州")) {
        ++自治州数
        自治州列表.append(地区)
    }
    if (地区.hasSuffix("岛")) {
        ++岛数
        岛列表.append(地区)
    }
    if (地区.hasSuffix("宝山区")) {
        ++宝山区数
        宝山区列表.append(地区)
    }
    
    // 判断地区的前缀是否含有"上海"
    if (地区.hasPrefix("上海")) {
        ++属上海数
        属上海列表.append(地区)
    }
    if (地区.hasPrefix("大连")) {
        ++属大连数
        属大连列表.append(地区)
    }
}

println("经统计共有\(区数)个区:")
for 区 in 区列表 {
    println(区)
}

03-Unicode

let 问候 = "你好 Hi 안녕하세요 \u{1F496}"

// UTF-8
println("UTF-8编码:")
for 代码单元 in 问候.utf8 {
    print("\(代码单元) ")
}

// UTF-16
println("\nUTF-16编码:")
for 代码单元 in 问候.utf16 {
    print("\(代码单元) ")
}

// UTF-32
println("\nUTF-32编码:")
for 万国码标量 in 问候.unicodeScalars {
    print("\(万国码标量.value) ")
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值