swift语言-字符串

来源:互联网 发布:mysql 查找第一条记录 编辑:程序博客网 时间:2024/06/06 08:35

1,简介
swift中的用于表示字符串的类型为 String 用于表示字符集。swift的String具有以下特点:

<1> swift中的String 与Object-C的NSString 有很大程度上的相同,具体来说就是其中的许多基础的API几乎相同。 在Foundataion框架中,许多要求传入NSString的参数都可以使用String类型来代替,但是有一点请注意,在swift中,同样有NSString类型,不能认为String 类型就是 NSString类型。

<2>String 是一种值类型,这一点与NSString 有所不同,在Object-C中,你将NSString对象作为参数传递的时候,其实只是将其对象的引用作为参数进行了传递,换句话说,你只是将这个对象的指针给了参数。而String 不同,应该把它看成一种深拷贝,即将整个对象复制了一份,然后将这个副本的指针赋给了参数。注意,在实际的编译过程中,swift会优化字符串的使用,使得只有在必须的情况下才会真正的拷贝。但是无论什么时候,都应该将其看做一种值类型。

2 如何使用String?

<1>初始化一个字符串

        let str:String = "hello world"         var str2 = String()        var str3 = ""

<2>字符串长度:

        let s:String = "hello"           print(s.characters.count)

<3>字符串插值,swift 设计的一种简单的构建新字符串的方式

//创建一个字符串,在 \(varName) varName会被替换为相应的值        let str :String = "world"        let str2:String = "hello \(str)"        print(str2)        //print:hello world

<4>字符串是否为空?

 //判断字符串是否为空        let str = ""        print(str.isEmpty)        //print: true

<5>字符串连接

  //连接字符串        let str = "hello "        let str2 = "world"        let str3 = str+str2        print(str3)        //print: hello world

<6>字符串的插入、删除、修改、追加、截取、切割、替代等

 //在某个位置插入某个字符        var str:String = "hello world"        str.insert("*", at: str.index(str.startIndex, offsetBy: 2))        print(str)        //print: he*llo world //在某个位置插入字符串        var str:String = "hello world"        str.insert(contentsOf: "123".characters, at: str.index(str.startIndex, offsetBy: 2))        print(str)        //print he123llo world //在某个位置追加字符串和字符        var str:String = "hello world"        str.append("!")//追加字符        str.append("123")//追加字符串        print(str)        //print: hello world!123 //遍历字符串        let str:String = "123"        for value in str.characters{            print(value)        }//移除某个字符或者字符串        var str = "hello world"        str.remove(at: str.index(str.startIndex, offsetBy: 2))//移除字符        print(str)        //print: helo world        str.removeSubrange(str.startIndex..<str.index(str.endIndex, offsetBy: -4))        print(str)        //print:  orld //代替某段字符串或者某个字符串        var str = "hello world"        var str2 = "你好 世界"        str.replaceSubrange(str.startIndex..<str.endIndex, with: str2.characters)        print(str)        //print: 你好 世界//截取某段字符串或者某个字符串        let str = "hello world"        let str2 = "你好 世界"        print(str.substring(to: str.index(str.startIndex, offsetBy: 2)))        //print : he        print(str2.substring(from: str2.index(str2.endIndex, offsetBy: -2)))        //print : 世界//切割某段字符串或者某个字符串        let str = "hello world"        let arr:Array =  str.components(separatedBy: " ")        print(arr)         //print: ["hello", "world"]
原创粉丝点击