Swift 中 Substring 的方法使用

在我初学 Java/C++ 时,经常遇到处理字符串的问题,很多都是截取字符串或者对字符串进行特定的处理。超级多的语法糖写起来很是方便,我曾经也是相信 Swift 在 String 类型上有很多的干货。但在 Swift 4 之前,其对字符串截取依然不是很方便。

最近写一个实验的时候发现 Swift 4 里出现了一个叫 Substring 的新特性,在 Java 里 Substring 是对字符串截取的一个方法,那在 Swift 里也是一样的,于是去看了下文档。在 Swift 4 里 String 变成一个集合类型,可以同 Array 等 Collection 类型一样方便的进行操作。

Substring 中的几个实用方法

dropFirst

我在实验中发现 Substring 的第一个方法是 func dropFirst(Int),用法和他的名字一样,从集合开始删除的元素数量。 当然也有从后面删除的方法 func dropLast(Int)

1
2
3
4
5
let text = "hello world"
let str = text.dropFirst(6)
let string = text.dropLast(3)
print(str) // world
print(string) // hello wo

prefix

func prefix(_ maxLength: Int) -> Substring 这个方法是截取你所需要字符串长度。例子如下:

1
2
3
4
5
let text = "hello world"
let str = text.prefix(7)
let string = text.prefix(15)
print(str) // hello w
print(string) // hello world

与它相近的还有 suffix,它们很多方法可以使用,具体可以参考苹果的文档。

相关文档和参考资料

前天我写完实验后仔细看了看完苹果的文档,还找到了卓大翻译了一篇相关文章,和图大去年写的文档,收获很多。还需努力学习。

Swift 中 Substring 与 String

你需要了解的 Swift 4 新东西之 Substring

此外还有一篇文章分析的也不错:
swift4 为什么要整一个SubString