文章目录

原文链接:String trimming in Swift 3

在另外一篇短文中,我们介绍了如何在 Swift 中对字符串进行分割, 这篇短文介绍如何修整字符串,去掉字符串首尾的空格和其他不需要的字符。

使用 Foundation 中的NSString,可以轻松地做到上面需要的功能。
在下面的代码段中,我们删掉莎士比亚名句字符串结尾的空格符号和换行符:

1
2
3
4
5
import Foundation
var aline = " This above all: to thine own self be true \n"
aline.trimmingCharacters(in: .whitespacesAndNewlines)
//This above all: to thine own self be true

Swift 提供一些默认的CharacterSet字符集,供大家选择,使用时候替换掉上面代码段中的whitespacesAndNewlines即可:

说明
.controlCharacters Unicode 通用分类Cc 和 Cf 中的字符.
.whitespaces Unicode 通用分类 Zs 中的字符和制表符 (U+0009).
.whitespacesAndNewlines Unicode 通用分类 Z*, U+000A ~ U+000D, and U+0085.
.decimalDigits 十进制数字字符
.letters Unicode 通用分类 L & M 中的字符.
.lowercaseLetters Unicode 通用分类 Ll 中的字符.
.uppercaseLetters Unicode 通用分类 Lu 和 Lt 中的字符.
.nonBaseCharacters Unicode 通用分类 M* 中的字符.
.alphanumerics Unicode 通用分类 L, M, 和 N* 中的字符.
.decomposables 独立的 Unicode 字符,可以用来表示为组合字符序列(比如连接口音的单词)
.illegalCharacters 非字符或者在 Unicode 标准 V3.2 版本中未定义的字符.
.punctuationCharacters Unicode 通用分类 P* 中的字符.
.capitalizedLetters Unicode 通用分类 Lt 中的字符.
.symbols Unicode 通用分类 S* 中的字符.
.newlines 包含换行符字符集(U+000A ~ U+000D, U+0085, U+2028, 和 U+2029).
.urlUserAllowed URL 中用户子模块中允许的字符集.
. urlPasswordAllowed URL 中密码子模块中允许的字符集.
.urlHostAllowed URL 中宿主子模块中允许的字符集.
.urlPathAllowed URL 中路径子模块中允许的字符集.
.urlQueryAllowed URL 中查询子模块中允许的字符集.
. urlFragmentAllowed URL 中碎片子模块中允许的字符集.

另外,你也可以自定义字符集,指定任意的字符作为删除的字符:

1
2
var myCharset= CharacterSet("#%&")
aline.trimmingCharacters(in: myCharset)
文章目录