Swift3.0语言教程替换子字符串

Swift3.0语言教程替换子字符串,替换子字符串其实就是将字符串中的子字符串删除,然后再进行添加。为了让这一繁琐的过程变的简单,NSString提供了替换子字符串的3个方法,这3个方法分别为:replacingOccurrences(of:with:)、replacingOccurrences(of:with:options:range:)和replacingCharacters(in:with:)方法。

(1)replacingOccurrences(of:with:)方法用来实现子字符串的替换,并返回一个新的字符串,其语法形式如下:

func replacingOccurrences(of target: String, with replacement: String) -> String

其中,target用来指定要替换的子字符串,replacement用来指定替换的目标字符串。

【示例1-53】以下将使用replacingOccurrences(of:with:)方法实现子字符串的替换。

import Foundation

var a=NSString(string:"Hello,Tom")

print("替换前:\(a)")

var b=a.replacingOccurrences(of: "Tom", with: "Dave")                                                     //替换

print("替换后:\(b)")

运行结果如下:

替换前:Hello,Tom

替换后:Hello,Dave

(2)replacingOccurrences(of:with:options:range:)方法和replacingCharacters(in:with:)方法类似,也是用来实现替换的。但是它比replacingCharacters(in:with:)方法多了两个参数:一个是options参数,该参数可以用来指定一个选项标记(这个标记可以作为替换的条件);另一个参数为searchRang,用来指定一个替换的范围。其语法形式如下:

func replacingOccurrences(of target: String, with replacement: String, options: NSString.CompareOptions = [], range searchRange: NSRange) -> String

【示例1-54】以下将使用replacingOccurrences(of:with:options:range:)方法实现子字符串的替换功能。

import Foundation

var a=NSString(string:"Hello,Tom")

print("替换前:\(a)")

var b=a.replacingOccurrences(of: "TOM", with: "Dave", options: NSString.CompareOptions.caseInsensitive, range: NSMakeRange(0, a.length))

print("替换后:\(b)")

运行结果如下:

替换前:Hello,Tom

替换后:Hello,Dave

(3)replacingCharacters(in:with:)方法也可以用来将指定范围的子字符串替换掉,其语法形式如下:

func replacingCharacters(in range: NSRange, with replacement: String) -> String

其中,range来指定在替换时字符集的范围,replacement用来指定替换的目标字符串。

【示例1-55】以下将使用replacingCharacters(in:with:)方法实现替换功能。

import Foundation

var a=NSString(string:"Hello,Tom")

print("替换前:\(a)")

var b=a.replacingCharacters(in: NSMakeRange(0, a.length),with: "This is book")

print("替换后:\(b)")

运行结果如下:

替换前:Hello,Tom

替换后:This is book

Swift3.0语言教程替换子字符串

推荐阅读:Swift3.0语言教程查找字符集和子字符串

Swift3.0语言教程替换子字符串的更多相关文章

  1. Swift3.0语言教程使用路径字符串

    Swift3.0语言教程使用路径字符串 Swift3.0语言教程使用路径字符串,路径其实是字符串的一种,我们称为路径字符串.本小节将讲解如何使用路径字符串. 1.组合路径 开发者可以将数组快速的组合成 ...

  2. Swift3.0语言教程使用URL字符串

    Swift3.0语言教程使用URL字符串 Swift3.0语言教程使用URL字符串,和路径一样,URL其实也是字符串,我们可以将这些字符串称为URL字符串.本小节将讲解URL字符串的使用. 1.编码 ...

  3. Swift3.0语言教程获取C字符串

    Swift3.0语言教程获取C字符串 Swift3.0语言教程获取C字符串,为了让Swift和C语言可以实现很好的交互,开发者可以使用NSString的cString(using:)方法在指定编码格式 ...

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

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

  5. Swift3.0语言教程字符串转换为数字值

    Swift3.0语言教程字符串转换为数字值 Swift3.0语言教程字符串转换为数字值,在NSString中,开发者可以将字符串转换为数字值,通过这些数字值可以实现一些功能,如加法运算.减法运算等.数 ...

  6. Swift3.0语言教程查找字符集和子字符串

    Swift3.0语言教程查找字符集和子字符串 Swift3.0语言教程查找字符集和子字符串,在字符串中当字符内容很多时,我们就需要使用到查找字符集或者子字符串的方法.以下我们将讲解3种查找字符集和子字 ...

  7. Swift3.0语言教程字符串与URL的数据转换与自由转换

    Swift3.0语言教程字符串与URL的数据转换与自由转换 Swift3.0语言教程字符串与URL的数据转换 Swift3.0语言教程字符串与URL的数据转换与自由转换,字符串中的字符永久保存除了可以 ...

  8. Swift3.0语言教程字符串与文件的数据转换

    Swift3.0语言教程字符串与文件的数据转换 Swift3.0语言教程字符串与文件的数据转换,如果想要对字符串中的字符进行永久保存,可以将字符串中的字符写入到文件中.当然,开发者也可以将写入的内容进 ...

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

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

随机推荐

  1. JS判断客户端是手机还是PC的2个代码(转)

    转载自:http://www.jb51.net/article/48939.htm Javascript 判断客户端是否为 PC 还是手持设备,有时候项目中需要用到,很方便的检测,源生的哦,方法一共有 ...

  2. 【leetcode】Reorder List (middle)

    Given a singly linked list L: L0→L1→…→Ln-1→Ln,reorder it to: L0→Ln→L1→Ln-1→L2→Ln-2→… You must do thi ...

  3. (2016弱校联盟十一专场10.5) F. Fibonacci of Fibonacci

    题目链接 题目大意就是这个,先找出下标的循环节,再快速幂对20160519取余就行了. 找出下标循环节: #include <cstdio> #include <iostream&g ...

  4. win7下安装openpyxl

    想使用python来操作Excel,看资料据说openpyxl非常好用,于是到https://pypi.python.org/pypi/openpyxl下载了安装包.下面就来说说安装步骤,也算是对自己 ...

  5. Linux vmstat字段解析

    vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况.这个命令是我查看Linux/Unix最 ...

  6. ASP.NET Global 全局事件处理

    添加Global文件,名字不要改 Global类说明: using System; using System.Collections.Generic; using System.IO; using S ...

  7. Linux(Ubuntu)之设定开机自启动

    分两种:对自建脚本,对已安装服务 对已安装服务, 只需在/etc/rc.local中添加相应的启动命令,如: 重启后,即可自启动服务. 对自建脚本自启动: 创建脚本test,修改其权限为755,如: ...

  8. logstash之multiline插件,匹配多行日志

    在外理日志时,除了访问日志外,还要处理运行时日志,该日志大都用程序写的,比如log4j.运行时日志跟访问日志最大的不同是,运行时日志是多行,也就是说,连续的多行才能表达一个意思. 在filter中,加 ...

  9. PHP中比较两个时间的大小与日期的差值

    在这里我们全用到时间戳 mktime(hour,minute,second,month,day,year,[is_dst])     其参数可以从右向左省略,任何省略的参数都会被设置成本地日期和时间的 ...

  10. CI重定向:php(codeigniter)中如何重定向

    Q: 在保存完数据之后需要重定向,防止数据重复提交. 我使用$this->方法名();跳转,发现不能达到重定向的效果(地址栏没变) 请教高手重定向怎么用 A: $this->load-&g ...