介绍
字符是 Swift 中的一种数据类型
字符对应的类型关键字为
Character
后面要讲解的字符串可以理解为多个字符的集合
字符的值只能包含一个值
字符的值必须包含在
""
双引号里(单引号不行)字符是组成字符串的基本单位
基本使用
let char1: Character = "A"
let char2: Character = "B"
此时如果改成如下的代码就会报错,因为它们的值不止一个。
// 报错:Cannot convert value of type 'String' to specified type 'Character'
let char1: Character = "AB"
let char2: Character = "CD"
转义字符
有一些特殊的字符,通常以\
开始,有着特殊的意义。
转义字符 | 含义 |
---|---|
\0 | 空白符 |
\\ | 反斜杠\ |
\t | 制表符 |
\n | 换行符 |
\r | 回车符 |
\' | 单引号 |
\" | 双引号 |
\u{} | 用unicode码创建字符 |
其他方法
Character
大部分情况下都要与String
配合使用。下面是 Swift 5 新增的内容,比较实用。
let content: String = "? ABC123?\n45"
var number = 0
var letter = 0
var newline = 0
var whitespace = 0
var symbol = 0
for str in content {
number += str.isNumber ? 1 : 0 // 判断数字
letter += str.isLetter ? 1 : 0 // 判断字母
newline += str.isNewline ? 1 : 0 // 判断换行
whitespace += str.isWhitespace ? 1 : 0 // 判断空格
symbol += str.isSymbol ? 1 : 0 // 判断表情
}
print(number) // 5
print(letter) // 3
print(newline) // 1
print(whitespace) // 2
print(symbol) // 2
CharacterSet
在 Swift 中,有一个与
Character
概念相关的数据类型CharacterSet
,可以称之为数据集合,它适用于操作Unicode字符
,在开发中经常使用。常见的
CharacterSet
分类
CharacterSet | 说明 |
---|---|
CharacterSet.whitespaces | 空格 |
CharacterSet.whitespacesAndNewlines | 空格和换行 |
CharacterSet.lowercaseLetters | 小写英文字母 |
CharacterSet.uppercaseLetters | 大写英文字母 |
CharacterSet.letters | 所有英文字母,包含大小写 |
CharacterSet.decimalDigits | 0 ~ 9 数字 |
CharacterSet.alphanumerics | 字母和数字的组合 |
inverted | 相反的字符集(取反操作) |
应用
自定义trim
函数,去除空格(或者特定字符)
// 去掉首尾空格
public func trim(str: String) -> String{
return str.trimmingCharacters(in: CharacterSet.whitespaces)
}
trim(str: " AAAA ") // 输出AAAA
备注:后续文章首发于微信公众号,除了 Swift、SwiftUI、Combine、iOS 开发等实用技术,也会分享一些学习心得,欢迎大家关注。
我的公众号