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

  • 字符串(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)..

你可能感兴趣的:(Swift---3.字符串与字符)