Swift4.0 学习笔记 第七节:字符串String

//
//  ViewController.swift
//  010-字符串
//
//  Created by 庄壮勇 on 2018/1/3.
//  Copyright © 2018年 Personal. All rights reserved.
//

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super . viewDidLoad ()
        demo4 ()
    }

    // MARK: - 字符串的子串
    func demo4() {
    
        // 建议: 一般使用NSString 作为中转, 因为Swift取子串的方法一直在优化
        // 更容易理解
        let str = "我们一起去飞"
       
        // 1.NSString
        let ocStr = str as NSString
        let s1 = ocStr. substring (with: NSMakeRange ( 2 , 3 ))
        print (s1)
       
        // 2. String 的3.0 方法
        // 偶尔使用很方便,但是复杂的截取,不好理解,而且语法经常变化!知道就好
        //let r = 0..<5
        //str.substring(with: <#T##Range<String.Index>#>)
        //Index
        // startIndex position == 0
        print (str. startIndex )
        // endIndex position == 6
        print (str. endIndex )
       
        let s2 = str. substring (from: "我们" . endIndex )
        print (s2)
       
        // 取子字符串的范围
        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 )"
        print (dateStr)
        // 使用格式字符串格式化
        let dateStr1 = String (format: "%02d:%02d:%02d" ,h,m,s)
        print (dateStr1)
       
    }
   
    // MARK: - 字符串拼接
    func demo2() {
        let name = "老王"
        let age = 18
        let title: String ? = "BOSS"
        let point = CGPoint (x: 100 , y: 200 )
       
        // \(变量/常量)
        // 拼接字符串需要注意 可选项 Optional
        // NSStringFromCGPoint(point)
        let str = " \ ( name ) \ ( age ) \ ( title ?? "") \ ( point )"
        print (str)
    }
   
    // MARK: - 字符串的长度
    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
        
         swift 中可以使用'值 as 类型' 类型转换
         */
       
        let ocStr = str as NSString
        print (ocStr. length )
       
    }
   
    //MARK: - 字符串的遍历
    func demo() {
       
        // NSString 不支持以下方式遍历
        let str = "我要飞得更高"
       
        for c in str. characters {
            print (c)
        }
    }
}


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值