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) // ["苹果", "香蕉", "橘子"]