我们先看函数的原型:

  1. public func split(separator: Self.Iterator.Element, maxSplits: Int = default, omittingEmptySubsequences: Bool = default) -> [Self.SubSequence]


第一个参数就不用解释了,传入要切割的字符串,像这样

  1. let line = "BLANCHE:   I don't want realism. I want magic!"
  2. print(line.characters.split(separator: " ")
  3. .map(String.init))
  4. // Prints "["BLANCHE:", "I", "don\'t", "want", "realism.", "I", "want", "magic!"]"


下面看第二个参数,像这样,意思是切割几次,设置为1的话就把原来的字符串切成两个。

  1. // The second example passes `1` for the `maxSplits` parameter, so the
  2. // original string is split just once, into two new strings.
  3. print(line.characters.split(separator: " ", maxSplits: 1)
  4. .map(String.init))
  5. // Prints "["BLANCHE:", "  I don\'t want realism. I want magic!"]"

第三个参数就很明确了,是否保留隐藏字符

  1. // The final example passes `false` for the `omittingEmptySubsequences`
  2. // parameter, so the returned array contains empty strings where spaces
  3. // were repeated.
  4. print(line.characters.split(separator: " ", omittingEmptySubsequences: false)
  5. .map(String.init))
  6. // Prints "["BLANCHE:", "", "", "I", "don\'t", "want", "realism.", "I", "want", "magic!"]"

看看官方文档对这三个参数的解释,懒得翻译了,也不是很难懂。

    1. /// - Parameters:
    2. ///   - separator: The element that should be split upon.
    3. ///   - maxSplits: The maximum number of times to split the collection, or
    4. ///     one less than the number of subsequences to return. If
    5. ///     `maxSplits + 1` subsequences are returned, the last one is a suffix
    6. ///     of the original collection containing the remaining elements.
    7. ///     `maxSplits` must be greater than or equal to zero. The default value
    8. ///     is `Int.max`.
    9. ///   - omittingEmptySubsequences: If `false`, an empty subsequence is
    10. ///     returned in the result for each consecutive pair of `separator`
    11. ///     elements in the collection and for each instance of `separator` at
    12. ///     the start or end of the collection. If `true`, only nonempty
    13. ///     subsequences are returned. The default value is `true`.
    14. /// - Returns: An array of subsequences, split from this collection's
    15. ///   elements.

Swift3.0 split函数切割字符串的更多相关文章

  1. Swift3.0语言教程分割字符串与截取字符串

    Swift3.0语言教程分割字符串与截取字符串 Swift3.0语言教程分割字符串 如果想要快速的创建一个数组,我们可以将字符串进行分割,分割后的内容将会生成一个数组.在NSString中有两个分割字 ...

  2. Swift3.0语言教程组合字符串

    Swift3.0语言教程组合字符串 Swift3.0语言教程组合字符串,当开发者想要将已经存在的字符串进行组合,形成一个新的字符串,可以使用NSString中的两个方法,分别为appending(_: ...

  3. Swift3.0语言教程获取字符串编码与哈希地址

    Swift3.0语言教程获取字符串编码与哈希地址 Swift3.0语言教程获取字符串编码与哈希地址,以下将讲解字符串中其它内容的获取方法. 1.获取字符串编码 在NSString中可以使用2个属性获取 ...

  4. Swift3.0语言教程获取字符串长度

    Swift3.0语言教程获取字符串长度 Swift3.0语言教程获取字符串长度,当在一个字符串中存在很多的字符时,如果想要计算字符串的长度时相当麻烦的一件事情,在NSString中可以使用length ...

  5. Swift3.0语言教程使用字符串创建和初始化字符串

    Swift3.0语言教程使用字符串创建和初始化字符串 Swift3.0语言教程使用字符串创建和初始化字符串,在编程语言中,字面值是很常见的数据描述形式.人们可以通过字面所表达的意思,获知其含义,尤其是 ...

  6. PHP 中使用explode()函数切割字符串为数组

    explode()函数的作用:使用一个字符串分割另一个字符串,打散为数组. 例如: 字符串 $pizza = "第1 第2 第3 第4 第5 第6"; 根据空格分割后:$piece ...

  7. javascript 中 split 函数分割字符串成数组

    分割字符串成数组的方法有很多,不过使用最多的还是split函数 <script language="javascript"> str="2,2,3,5,6,6 ...

  8. split+ Pattern切割字符串

    今天在对一个String对象进行拆分的时候,总是无法到达预计的结果.呈现数据的时候出现异常,后来debug之后才发现,错误出在String spilt上,于是开始好好研究下这东西,开始对api里的sp ...

  9. Java开发:字符串切割split函数——切割符转码注意事项

    一.问题如下: 1.先对一个已有字符串进行操作,使用     ;     进行分割: //示例字符串 String string="sr1.db1.tb1.df1;sr2.db2.tb2.d ...

随机推荐

  1. SQLServer外部数据导入--Excel版

    例如要在test表里插入多行数据 假设字段有: ID.Name 首先要有需要导入的数据的Excel A1 对应ID B1 对应Name 选中Excel第一行的空白处,比如C1,在工具栏的函数文本框里输 ...

  2. swift-delegate(代理)或者block传值

    1:delegate或者block传值 import UIKit class ViewController: UIViewController,TestDelegatePassValueDelegat ...

  3. js-事件处理(重点)

    1:各种常用事件: 2:简单用法: <body onLoad="javascript:alert('hello world');" onUnload="javasc ...

  4. Java常用设计模式《转》

    设计模式:一个程序员对设计模式的理解:“不懂”为什么要把很简单的东西搞得那么复杂.后来随着软件开发经验的增加才开始明白我所看到的“复杂”恰恰就是设计模式的精髓所在,我所理解的“简单”就是一把钥匙开一把 ...

  5. SLAM:ORB-SLAM 位姿优化描述

    只知道算法描述和代码,而不知道原理是比较扯的事情,还是把原理转载一下. 原文链接: http://www.cnblogs.com/luyb/p/5447497.html ORB-SLAM作为单目SLA ...

  6. TCP协议的三次握手、四次挥手

    TCP三次握手 TCP的连接的建立需要发送三个包,一次称为三次握手(Three-way Handshake). 三次握手的目的是连接服务器指定端口,建立TCP连接,并同步连接双方的序列号和确认号并交换 ...

  7. 【剑指Offer】40、数组中只出现一次的数字

      题目描述:   一个整型数组里除了两个数字之外,其他的数字都出现了两次.请写程序找出这两个只出现一次的数字.要求时间复杂度为O(n),空间复杂度为O(1).   解题思路:   这道题目相对比较难 ...

  8. linux backtrace()详细使用说明,分析Segmentation fault

    linux backtrace()详细使用说明,分析Segmentation fault 在此之前,开发eCos应用程序时,经常碰到程序挂掉后,串口打印输出一大串让人看不懂的数据.今天才明白,原来这些 ...

  9. MySQL中的注释符号的使用

    前言 在学习MySQL的过程中,因为目前接触的语法简单,所以实在没有想到过加入注释.在写博客使用Markdown时,突然想用注释语句,所以便百度了一下,引用了这一篇转载博客. MySQL中的注释符号有 ...

  10. request.getScheme()、 request.getServerName() 、 request.getServerPort() 、 request.getContextPath()

    <% String basePath = request.getScheme() + "://" + request.getServerName() + ":&qu ...