swift字符串
因为swift的字符串的截取还在优化中,建议是用OC的
/**
1. 字符串的遍历
2. 字符串的长度
3. 字符串的拼接
*/
class ViewController: UIViewController
{
override func viewDidLoad()
{
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
// demo()
demo4()
}
// MARK: 字符串子串
func demo4()
{
// 建议: 一般使用NSString作为中转,因为Swift取子串的方法一直在优化
let str = "我们一起去飞"
let ocStr = str as NSString
// 取第二个字符,取3个
let s1 = ocStr.substring(with: NSMakeRange(2, 3))
print("s1=\(s1)")
// 2. String的方法 3.0版本
// let r = 0..<5
// startIndex position = 0
print("startIndex=\(str.startIndex)")
// endIndex postion = str.length
print("endIndex=\(str.endIndex)")
let s2 = str.substring(from: "我们".endIndex)
print("s2=\(s2)")
let s3 = str.substring(from: "abc".endIndex)
print("s3=\(s3)")
// 取范围
guard let range = str.range(of: "一起") else {
print("没有找到字符串")
return
}
print("------")
print(range)
print(str.substring(with: range))
}
//MARK: 字符串格式化
func demo3()
{
let h = 8
let m = 9
let s = 6
let dateStr = "\(h):\(m):\(s)" // 8:9:6
print(dateStr)
// 08:09:06
let dateStr1 = String(format: "%02d:%02d:%02d", arguments: [h, m, s])
print(dateStr1)
}
// MARK: - 拼接 NSString stringWithFormate:xx
func demo2()
{
let name = "tangbin"
let age = 10
let title: String? = "BOOS"
let point = CGPoint(x: 100, y: 200)
// 拼接字符串需要注意 可选项 Optional
let str = "\(name) \(age) \(title ?? "") \(point)" // tangbin 10 BOOS (100.0, 200.0)
print(str)
}
// 字符串的长度
func demo1()
{
let str = "hello world你好"
// 1> 返回指定编码的对应的字节数量
// utf8 的编码(0~4个),每个汉字是 3 个字节
print(str.lengthOfBytes(using: .utf8))
// 2> 字符串长度 - 返回字符的个数 (推荐使用)
print(str.characters.count);
// 3> 使用NSString中转
/**
str as NSString
OC 的写法(NSString *)t
Swift 中可以使用 ‘值 as 类型’ 类型转换
*/
let ocStr = str as NSString
print("ocStr.len=\(ocStr.length)")
// ocStr.length
}
// MARK: - 字符串的遍历
func demo()
{
let str = "我要飞得更高"
for c in str.characters
{
print("c=\(c)")
}
}
}
posted on 2017-07-28 14:11 TangBin604 阅读(93) 评论(0) 编辑 收藏 举报