您的位置:首页 > 移动开发 > Swift

swift 2.0 字符串操作...

2016-01-09 14:39 417 查看
//: [Previous](@previous)

import Foundation
import UIKit
/*
String 结构体,效率比对象高,一般推荐使用String
NSString 继承NSObject
*/
var str:String = "你好世界"

//支持遍历
for c in str.characters {
print(c);
}

// 字符串的拼接
let name:String? = "老王"
let age = 80
let title = "小菜"

//可选类型无法参与 肯定有值 print , 必须要指定, 方法1: 写感叹号 方法2: ?? "" 指定空得时候的内容,?? 左右都需要空格, 真坑
print(name ?? "" + String(age) + title)
// \(变量名) 就会自动转换拼接
// 如果是可选项的转换 , 会带上 'Optional', 提示开发人员,值是可选的
// 拼接字符串有小陷阱,可选类型会打印 Optional
print("\(name)\(age)\(title)")

// 真的需要格式怎么办

let hour = 9
let minute = 5
let second = 8

let timeStr = "\(hour):\(minute):\(second)"

// 注意: 参数是以数组的形式输入 []
let timeStr1 = String(format: "%02d:%02d:%02d", arguments: [hour,minute,second])

// 在Swift语法变迁中,'Range'的变化非常大, 如果碰到 Range, 最好把String改成 NSString

//str.substringWithRange(<#T##aRange: Range<Index>##Range<Index>#>)
var s="我是谁啊"
(s as NSString).substringWithRange(NSMakeRange(2, 2)) // (startIndex, len)

// 网上推荐使用Swift的str.substringWithRange(<#T##aRange: Range<Index>##Range<Index>#>)

let index = s.startIndex.advancedBy(2) // 输入的变量是角标, --->谁
let index2 = s.endIndex.advancedBy(-1) // 从后往前数 -1 -2 -3 --->啊
var range = Range<String.Index>(start: index,end: index2) --->'谁'___'啊',包含头,不包含尾
var s1:String=s.substringFromIndex(index) //从角标开始到末尾
var s2:String=s.substringToIndex(index2) // 从0到角标 , 不包含角标
var s3=s.substringWithRange(range) //包含起始, 不包含尾
print(s1)//谁啊
print(s2)//我是谁
print(s3)//谁

//let range = Range<String.Index>(start:str., end: advance())
//str.substringWithRange(range);

//: [Next](@next)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: