美文网首页
Swift---3.字符串与字符

Swift---3.字符串与字符

作者: 阿丶伦 | 来源:发表于2017-02-20 14:21 被阅读25次
    • 字符串(String)
    • 空字符串(两种生成方法,生成的字符串相同,Swift中,isEmpty方法用来判断字符串是否为空)
    var emptyString1 = ""
    var emptyString2 = String()
    if emptyString1 == emptyString2 {
        print("same")
    }
    if emptyString1.isEmpty {
        print("is empty")
    }
    
    • 不可变字符串(即生成一个常量)
    let string = "cannot change"
    
    • 可变字符串(变量)
    var string = "hello"
    string += "world!"
    
    • 字符串插值(要在字符串中插入一个值,在双引号中使用(xxx))
    var num = 3
    var string = "page \(num)"
    
    • 字符(character)
    • Swift中字符串拥有一个characters属性,返回一个包含字符串内所有字符的数组
    var string = "hello world!"
    for character in string.characters {
        print(character)
    }
    
    • 生成单个字符
    var char:Character = "c"
    
    • 字符拼接到字符串中
    var string = "hello world"
    var char:Character = "!"
    string.append(char)
    
    • 获取字符串长度(获取字符串的字符数组,取数组长度)
    var str = "hello"
    var count = str.characters.count
    
    • 字符串下标(index)
      • startIndex(字符串第一个字符的位置)
      var str = "test"
      var t = str[str.startIndex]
      
      • endIndex(字符串最后一个字符的位置)
      var str = "test"
      //这样写会报错,因为endIndex是取最后一个字符后一位的位置,此时会引发越界错误
      //var t = str[str.endIndex]
      var t = str[str.index(before: str.endIndex)]
      
      • 获取固定位置的字符
      var test = "test"
      var e = test[test.index(test.startIndex, offsetBy: 1)]
      
    • 前缀(方法hasPrefix,返回布尔值)
    var str = "hello"
    if str.hasPrefix("h") {
        print("yes")
    }
    
    • 后缀(hasSuffix)
    var str = "hello"
    if str.hasSuffix("lo") {
        print("yes")
    }
    
    • 增删
      • 拼接字符串(方法有两种,一种传入单个字符,拼接在置顶的位置,另一个方法,传入集合类型,即数组,集合,字典,此处我们传入字符串的字符数组,而非字符串本身)
      //insert
      str.insert("!", at: str.endIndex)
      str.insert(contentsOf: "world".characters, at: str.index(str.endIndex, offsetBy: -1))
      str.insert(" ", at: str.index(str.startIndex, offsetBy: 5))
      
      • 删减字符串
      var str = "hello!"
      //删除置顶位置的单个字符
      str.remove(at: str.index(before: str.endIndex))
      //删除范围内的所有字符
      str.removeSubrange(str.index(str.startIndex, offsetBy: 2)..<str.endIndex)
      

    相关文章

      网友评论

          本文标题:Swift---3.字符串与字符

          本文链接:https://www.haomeiwen.com/subject/ewllwttx.html