字符串和字符

231 阅读2分钟
  1. 多行文本字串
    \ :续航符 \n :换行符 文本中可以随意使用各种符号例如双引号等。
//多行文本字串
let a = """
0,1,2,3,4,5.

one,two,three,four,five
"""
print("a = \(a)")

//续行符
let b = """
0,1,2,3,4,5.\
one,two,three,four,five

"""
print("b = \(b)")

//换行符
let c = """
0,1,2,3,4,5.\n\n\n
one,two,three,four,five,"6"

"""
print("c = \(c)")


  1. 判断是否为空
//判断是否为空
var temp = ""
print(temp.isEmpty)
  1. 字符串是一个值,具备独立拷贝功能
//字符串是一个值,具备独立拷贝功能
var a = "abc"
var b = a
b = "def"
print("a = \(a)   b = \(b)")

var c = 3
var d = c
d = 5
print("c = \(c)  d = \(d)")
  1. 字符
let str = "Heart!❤️"

//字符串遍历获取字符
for character in str {
    print(character)
}

//定义一个字符
var a: Character = "a"

//定义一个字符数组
var b: [Character] = ["H","e","a","r","t","!","❤️"]
var c = String(b)
print(c)
  1. 拼接
//字符串拼接,字符串拼接字符
var a = "one"
let b = " two"
var c = a + b
a += b

var f: Character = "!"
a.append(f)
print(a)
  1. 字符串插值
    可以在变量前后插入字串
var a = "abc"
var b = "\(a)def"
print("b = \(b)")
  1. 字符串中字符个数
//字符串中的字符个数
let a = "abcdefqwer你好"
print(a.count)
  1. 索引
    1. startIndex: 字符串中第一个字符的索引,有效索引
    2. endIndex: 字符串中最后一个字符后边一位的索引,无效索引
    3. indx(before:)
    4. index(after:)
    5. index(,offetBy:)

注意:字串中字符的获取,或者遍历用这种索引的方式。数组,字典,集合中元素的获取或者遍历应该用他们自己的方法,当然也可以用这种索引的方式,但是不推荐!

//字串根据索引获取值
let greeting = "Guten Tag!"
var a = greeting[greeting.startIndex]
var b = greeting[greeting.index(before: greeting.endIndex)]
var c = greeting[greeting.index(after: greeting.startIndex)]
var d = greeting[greeting.index(greeting.startIndex, offsetBy: 6)]

//字串根据索引遍历
let greeting = "Guten Tag!"
for index in greeting.indices {
    print(greeting[index])
}

//其实数组,字典,集合都可以用这种方法遍历(但是他们有自己的遍历方法,推荐用自己的方法遍历)
let a = [1,2,3,4,5]
var b = a[a.startIndex]
var c = a[a.index(before: a.endIndex)]
var d = a[a.index(after: a.startIndex)]
var e = a[a.index(a.startIndex, offsetBy: 3)]
  1. 字符串的插入和移除
var a = "hello"
//在指定索引处插入字符
a.insert("!", at: a.endIndex)
//在指定索引处插入字符串
a.insert(contentsOf: "!!!", at: a.endIndex)
a.insert(contentsOf: " you", at:  a.index(a.startIndex, offsetBy: 5))


//移除指定索引的字符
a.remove(at: a.index(before: a.endIndex))
//移除指定范围的字串
let range = a.index(a.endIndex, offsetBy: -3)..<a.endIndex
a.removeSubrange(range)
a
  1. 子字符串
var a = "hello, world"
let index = a.firstIndex(of: ",") ?? a.endIndex
var b: Substring = a[a.startIndex..<index]
var c: String = String(b)
print(b)

  1. 比较字符串
import UIKit
import Foundation
//比较字串相等
let a = "123"
let b = "123"
if a == b {
    print("a = b")
}else{
    print("a != b")
}

//前缀是否有某个字符串
var c = "Helloqwert123456World"
if c.hasPrefix("Hello"){
    print("前缀有Hello")
}else{
    print("前缀没有Hello")
}

//后缀中是否有某个字符串
if c.hasSuffix("World") {
    print("后缀中有World")
}else{
    print("后缀中没有World")
}