- 多行文本字串
\ :续航符 \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)")
- 判断是否为空
//判断是否为空
var temp = ""
print(temp.isEmpty)
- 字符串是一个值,具备独立拷贝功能
//字符串是一个值,具备独立拷贝功能
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)")
- 字符
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)
- 拼接
//字符串拼接,字符串拼接字符
var a = "one"
let b = " two"
var c = a + b
a += b
var f: Character = "!"
a.append(f)
print(a)
- 字符串插值
可以在变量前后插入字串
var a = "abc"
var b = "\(a)def"
print("b = \(b)")
- 字符串中字符个数
//字符串中的字符个数
let a = "abcdefqwer你好"
print(a.count)
- 索引
- startIndex: 字符串中第一个字符的索引,有效索引
- endIndex: 字符串中最后一个字符后边一位的索引,无效索引
- indx(before:)
- index(after:)
- 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)]
- 字符串的插入和移除
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
- 子字符串
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)
- 比较字符串
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")
}