Swift字符串追加

var str = "OC"
str.append(" Swfit")
print(str)
// 输出结果: OC Swift

输出结果:

Swift获取字符串长度

let str = String(format: "数字%.2f", 333.333)
// 获取长度
print(str.count)
// 输出结果: 8

输出结果:

Swfit计算字符串中子字符串出现的次数 

Swfit计算字符串中字符的出现次数

Swfit统计字符串中指定字符的个数

Swfit计算指定字符在字符串中出现的次数

 1 override func viewDidLoad() {
2 super.viewDidLoad()
3
4 let text = "swfitJJUKKswiftnnytuswfitssssswfittttaaee"
5 let num = subStringCount(str: text, substr: "swfit")
6 print("swfit在字符串中出现了\(num)次")
7 }
8
9
10 /// 计算字符串中子字符串出现的次数
11 /// - Parameters:
12 /// - str: 字符串
13 /// - substr: 子字符串
14 /// - Returns: 数量
15 func subStringCount(str: String, substr: String) -> Int {
16 { $0.isEmpty ? 0 : $0.count - 1 } ( str.components(separatedBy: substr))
17 }
18
19 //参考 https://stackoom.com/en/question/29Cdr

输出结果:

Swift字符串的子串

1 // MARK:字符串的子串
2 // 建议:一般使用NSString中转
3 func test() {
4 let str = "好好学习,天天向上"
5 let ocStr = str as NSString
6 let s1 = ocStr.substring(with: NSMakeRange(2, 5))
7 print(s1)
8 }

输出结果:

Swfit字符串遍历和长度的三种方法

 1 override func viewDidLoad() {
2 super.viewDidLoad()
3
4 test1()
5 test2()
6 }
7
8
9
10 // MARK: 字符串遍历
11 func test1() {
12 let str = "需要遍历的字符串"
13 for byteStr in str {
14 print(byteStr)
15 }
16 }
17 // 输出结果: 需
18 // 输出结果: 要
19 // 输出结果: 遍
20 // 输出结果: 历
21 // 输出结果: 的
22 // 输出结果: 字
23 // 输出结果: 符
24 // 输出结果: 串
25
26 // MARK: 字符串的长度
27 func test2() {
28
29 let str = "Hello World 你好"
30 //1.返回指定编码的对应的字节数量
31 //UTF8的编码(0--4) 每个汉字是3个字节
32 print(str.lengthOfBytes(using: .utf8))
33
34 //2.字符串长度 -返回字符的个数
35 print(str.count);
36
37 //3.使用NSString中转
38 let ocStr = str as NSString
39 print(ocStr.length)
40 }
41 // 输出结果: 18
42 // 输出结果: 14
43 // 输出结果: 14

输出结果:

Swift 字符串是否包含某字符

/// 字符串是否包含指定字符
func test() {
let label = UILabel()
label.text = "ADSSSwfitKohuo" if label.text!.contains("Swfit") {
print("包含")
} else {
print("不包含")
} // 输出结果: 包含
}

  

Swfit拼接字符串

 1 // MARK: - 字符串拼接
2 func test() {
3
4 let name = "张三"
5 let age = 30
6 let title:String? = "大BOSS"
7
8 //格式:\(变量或常量)
9 //let str = "\(name)\(age)\(title)"
10 let str = "\(name)\(age)\(title ?? "")"
11
12 print(str)
13
14 }

输出结果:

Swfit格式化字符串

//MARK:格式化字符串
func test() {
let h = 6
let m = 36
let s = 55 let dateStr = "\(h):\(m):\(s)"
//使用格式字符串格式化
let dateStr1 = String(format:"%02d:%02d:%02d",h,m,s) print(dateStr)
print(dateStr1)
}

输出结果:

Swift字符串操作-持续更新-2022的更多相关文章

  1. Python 字符串 (3) 持续更新

    字符串操作 虽然字符串也是一种序列,但是它和元组一样,不可变的.当你想对它修改时,会引发异常.如 >>> strings = "Let's go">> ...

  2. 学习Swift -- 数组(Array) - 持续更新

    集合类型--数组 Array是Swift中的一种集合类型:数组,数组是使用有序列表储存同一类型的多个值,与OC的NSArray的最大不同是,Swift的数组是值类型,OC的数组是引用类型 声明数组的方 ...

  3. Numpy 对于矩阵的操作持续更新

    >>> import numpy as np >>> a = np.random.randint(10,size=(5,5)) >>> a arr ...

  4. MySQL日常运维操作---持续更新

    1.查看当前连接数: 这些参数都是什么意思呢? Threads_cached ##mysql管理的线程池中还有多少可以被复用的资源 Threads_connected ##打开的连接数 Threads ...

  5. js 常用操作 -- 持续更新

    替换数组中某一元素: array.splice(2, 1, '哈哈'); // 2 表示指定数组中2下标元素,1表示要删除的项数,哈哈 是替换后的值 在数组中某元素之前增加元素: array.spli ...

  6. jgGrid常用操作--持续更新

    最近有使用到jqGrid框架,有个需求是单击某个字段,比如name,然后把id带过去执行一个function,网上有说用线获取选中行,然后再得到id的方法,此方法经实验,必须要先选中才行,在用户没有进 ...

  7. [Swift]字符串(String类、NSString类)常用操作

    NS是Cocoa类对象类型的前缀,来源于乔布斯建立的另一家公司--NeXTNSString的使用方法,和Swift语言中的String有很多相似之处. 1.字符串的定义String类 var str1 ...

  8. 【oracle笔记1】基础知识大集锦:增删改,数据类型,用户操作,持续更新中···

    什么是数据库?数据库就是用来存储和管理数据的仓库.首先我来简单介绍一下各数据库的背景,常见的数据库如下,oracle:甲骨文公司(市场占用率最高),oracle也是一个公司名,翻译过来就是甲骨文的意思 ...

  9. 前端深入之js篇丨Array数组操作从入门到成神Up Up Up,持续更新中

    写在前面 随着前端深入的不断学习,发现数组这个数据结构在前端中有着相当大的存在感,由于我初学前端的时候并没有系统性的学习数组,所以我将通过这篇文章同你一起学习数组,希望我们能一起进步,学会熟练操作数组 ...

随机推荐

  1. SpringBoot 上传文件大小限制,SizeLimitExceededException: the request was rejected because its size (64042302) exceeds the configured maximum (10485760)

    对应的配置属性文件:org.springframework.boot.autoconfigure.web.servlet.MultipartProperties 由于我是yml文件,所以直接这样定义就 ...

  2. Error 和 Exception 有什么区别?

    Error 表示系统级的错误和程序不必处理的异常,是恢复不是不可能但很困难的情 况下的一种严重问题:比如内存溢出,不可能指望程序能处理这样的情况: Exception 表示需要捕捉或者需要程序进行处理 ...

  3. 为什么要配置JDK环境变量?

    1. PATH环境变量.作用是指定命令搜索路径,在shell下面执行命令时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序.我们需要把 jdk安装目录下的bin目录增加到现有的PATH ...

  4. Linux用户无法使用sudo命令

    新建的用无法使用sudo命令,出现这样的提示: xiaojing is not in the sudoers file. This incident will be reported 原来是新建的用户 ...

  5. 学习DNS(一)

    DNS(Domain Name System,域名系统)因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户方便的访问互联网,而不用去记住能够被机器读取的IP数串.通过主机名,最终得到该主 ...

  6. 学习openstack(三)

      一.OpenStack初探 1.1 OpenStack简介 OpenStack是一整套开源软件项目的综合,它允许企业或服务提供者建立.运行自己的云计算和存储设施.Rackspace与NASA是最初 ...

  7. MM32F0140 UART1硬件自动波特率校准功能的使用

    目录: 1.MM32F0140简介 2.UART自动波特率校准应用场景 3.MM32F0140 UART自动波特率校准原理简介 4.MM32F0140 UART1 NVIC硬件自动波特率配置以及初始化 ...

  8. 007.iSCSI服务器CHAP双向认证配置

    一 iSCSI和CHAP介绍 1.1 iSCSI 磁盘 iSCSI后端存储支持多种设备类型,主要有: 文件 单一分区(partition) 磁盘 数组 RAID LVM 本手册建议以裸磁盘vdb作为示 ...

  9. 微信端页面使用-webkit-box和绝对定位时,元素上移的问题

    -webkit-box 的用法 通常,在移动端要实现水平方向平分宽度的布局,会使用 -webkit-box 来布局.它的使用方法是: <div class='parent'> <di ...

  10. 首次写iPad布局感想(H5)

    一直做前端工作,却从来没有开发过平板的项目,想来也是有遗憾的,孰知,新公司的第二个项目就是要适配平板,刚开始是懵的,对于兼容,感觉是自己的短板,但庆幸的是这一版只需要兼容iOS系统就可以. 那我现在就 ...