swift -- 字符串

1.字面量 方式

let str = "string"

 2.初始化 空字符串

let str2 : String = ""

let str3 : String = String()

3.是否为空

print(str.isEmpty)

4.字符串的可变性

let str4 = "xxx"   // 不可变

var str5 = "oo"   //可变

5.字符串的拼接

方式一:

str += "abc"

方式二:

var str6 = "aa"

var str7 = "bb"

var str8 = str6 + str7

//******new*******

 //拼接 使用  \()

    func demo4() -> Void {

        let name = "老王"

        let age = 18

//1.不同的类型 拼接

        let str = "\(name)\(age)"

//2.注意-可选项-的拼接,要使用 ?? 双问号

        let title:String? = "boss"

        let str1 = "\(name)\(age)\(title ?? "")"

//3.其他类型

        let point = CGPoint(x: 10, y: 22);

        let str2  = "\(name)\(point)"//代替oc中的NSStringFromCGPoint(poinit)

        

        print(str)

        print(str1)

        print(str2)

    

4.重点:格式化

 

 

        let dateStr1 = String.init(format: "%02d:%02d:%02d", h,m,s)  

    }

6.字符串插入值

var str9 = "xxxx\(str)oooo"

7.字符串的遍历

for i in str.characters{

print( i )

}

8.字符的数量

//1.返回指定编码的字节

        //utf8编码,每个汉字占3个字节

        let str1 = "hello world你好";

        print(str1.lengthOfBytes(using: .utf8));

        //2.字符的个数(推荐)

        print(str1.characters.count)

 

        //3.使用NSString中转(" as 类型"类型转换)

        let ocStr = str1 as NSString;

        print(ocStr.length)

9.字符串的索引

//第一个索引

print(str.startIndex)   //0

//第二个索引

print(str.startIndex.successor())   // 1

//最后一个索引

print(str.endIndex)     //6,多一个,因为把最后默认的换行也算上了

//倒数第二个索引

print(str.endIndex.predecessor())  //5

//获取任意一个索引

print(str.startIndex.advanceBy(3))

print(str.startIndex.advanceBy(-4))  //负数,从后往前数

 

//通过索引,获取字符

print(str[str.startIndex])   // 第一个字符

 

10.indices的使用(indices将字符的所有下标获取到)

for i in str.characters.indices{

print( i )

print(str[i])

}

11.在指定索引处,插入字符

str.insert("k" , atIndex: str.startIndex)

12.删除

//单个字符的删除

str.removeAtIndex(str.srtartIndex)

//删除一段范围

let range = str.endIndex.advanceBy(-3)...<str.endIndex

str.remvoeRange(range)

13.字符串比较

let s1 = "asdf"

let s2 = "asdf"

//比较字符串是否相等

if s1 == s2{

print("相等")

}

14. 是否包含前缀 后缀

print(str.hasPrefix("st"))

print(str.hasSuffix("ing"))

 

//new 取子串

//子串

    func demo6(){

        //建议:一般使用NSString做中转,因为swift取子串的方法一直在优化

        //1.NSString

        let str = "我们一起去fly"

        let ocStr = str as NSString;

        let s1 = ocStr.substring(with: NSMakeRange(2, 3));

        

        print(s1);

        //2.swift3.0 的方法

//        let r = 0..<5;

//        str.substring(with: <#T##Range<String.Index>#>)

        //特点:Index

        //startIndex position == 0

        print(str.startIndex)

        //endIndex position == str.length

        print(str.endIndex)

        

        //取子串的范围

        guard let range = str.range(of: "一起") else{

            print("no string")

            return;

        }

        

        //一定找到的范围

        print(range)

        print(str.substring(with: range))

        

    }

 

posted @ 2016-06-14 14:20  Da雪山  阅读(173)  评论(0编辑  收藏  举报