03-Swift 字符串

01-字符串的基本操作

// 字符串的字面量
var s = "Hello World"

// 空字符串的创建
var 空字符串1 = ""
var 空字符串2 = String()

// 字符串是否为空
if (s.isEmpty) {
    println("字符串为空")
} else {
    println("字符串有值")
}

// 字符串的修改
s = "Hello World !"

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

// 字符串的遍历
for 字符 in s {
    println(字符)
}

var 单个字符 :Character = "v"

// 字符串与字符的操作
var s1 = "Hello"
var s2 = "World"
var c1 : Character = "!"
var c2 : Character = "?"

var 字符串拼接字符 = s1 + String(c1)
var 字符串拼接字符串 = s1 + s2
var 字符拼接字符 = String(c1) + String(c2)
var 字符拼接字符串 = String(c1) + s1

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

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

02-字符串的比较

// 字符串的比较
var a = "Hello World"
var b = "Hello World"

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

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

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(区)
}

println("\n共有\(县数)个县:")
for 县 in 县列表 {
    println(县)
}

println("\n共有\(自治州数)个自治州:")
for 自治州 in 自治州列表 {
    println(自治州)
}

println("\n共有\(岛数)个岛:")
for 岛 in 岛列表 {
    println(岛)
}

println("\n共有\(宝山区数)个宝山区:")
for 宝山区 in 宝山区列表 {
    println(宝山区)
}

println("\n共有\(属上海数)个属上海:")
for 属上海 in 属上海列表 {
    println(属上海)
}

println("\n共有\(属大连数)个属大连:")
for 属大连 in 属大连列表 {
    println(属大连)
}

03-Unicode

var 问好 = "你好 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) ")
}


转载于:https://my.oschina.net/u/2309294/blog/370268

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值