String 字符串
声明
可以直接使用双引号声明,或者使用 String
方法
swift
var str1 = "插电"
var str2 = ""
var str3 = String()
重复字符串
String
方法可以传入 repeating
和 count
参数重复内容
repeating
代表需要重复的字符串,count
代表需要重复的次数
swift
var str4 = String(repeating: "a", count: 10) // 重复一个字符串重复 10 次
// aaaaaaaaaa
多行文本
""""
三个引号包裹的内容可以换行打印
swift
let str5 = """
hdhdjashd
dakjdjaksd
djakdjkas
"""
末尾加入 \
可以将多行问你转换为单行
swift
let str6 = """
hdhdjashd\
dakjdjaksd\
djakdjkas
"""
带引号的
#""#
包裹的字符串可以将内部的引号打印
swift
let str7 = #""带有引号的字符串""#
print(str7) // "带有引号的字符串"
字符串拼接
使用 +
可以拼接 字符串
swift
let str8 = "张三"
let str9 = "是个好人"
print(str8 + str9)
是否为空
isEmpty
可以判断字符串是否为空
swift
let str = ""
print(str.isEmpty) // true
获取长度
count
可以获取字符串长度
swift
let str = "字符串"
print(str.count) // 3
获取值
description
方法可以获取字符串的值
swift
let str = "字符串"
print(str.description) // 字符串
调试的值
调试输出字符串的值
swift
let str = "字符串"
print(str.debugDescription) // "字符串"
获取 hash
获取变量的位置 hash 值
swift
let str = "字符串"
print(str.hashValue)
转换大小写
uppercased
和 lowercased
方法可以将字符串转换大小写
swift
let str = "This is a Test"
print(str.uppercased()) // 大写
print(str.lowercased()) // 小写
是否以什么开头或者结尾
uppercased
和 lowercased
方法可以判断是否以什么开头或者结尾
swift
print("1234567".hasPrefix("123"))
print("1234567".hasSuffix("567"))
普通遍历
使用 for in
遍历
swift
var str = "这是一段测试字符串"
for c in str {
print(c)
}
索引遍历
使用 for in
遍历,这里是索引并不是从 0 开始
swift
var str = "这是一段测试字符串"
for index in str.indices {
print(str[index], index)
}
索引获取元素
获取第一个索引的元素
swift
var str = "这是一段测试字符串"
print(str[str.startIndex])
获取最后索引的元素
swift
var str = "这是一段测试字符串"
print(str[str.index(before: str.endIndex)])
获取最后索引前两位的元素
swift
var str = "这是一段测试字符串"
print(str[str.index(before: str.endIndex, offsetBy: -2)])
字符串转换为数组
split
方法传递 separator
参数可以根据指定分隔符讲字符串转换为数组
swift
var a = "苹果,香蕉,橘子"
print(a.split(separator: ",")) // ["苹果", "香蕉", "橘子"]
whereSeparator
参数可以是一个条件,根据条件执行分隔规则
swift
var a = "苹果,香蕉,橘子"
var b = "苹果,香蕉|橘子/西瓜"
var res1 = a.split(separator: ",")
var res2 = a.split(whereSeparator: {item in
item == "," || item == "|" || item == "/"
})
print(res1) // ["苹果", "香蕉", "橘子"]
print(res2) // ["苹果", "香蕉", "橘子"]