Swift中常见的String用法,Array高阶使用,Set集合操作
创建字符串
let greeting = "Hello, world!"
let name = String("John") 连接字符串:使用加号(+)或者字符串插值(使用())来将多个字符串连接起来。
var firstName = "John"
let lastName = "Doe"
let fullName = firstName + " " + lastName // "John Doe"
let fullName1 = firstName.append(lastName) // "My name is John Doe."
let message = "My name is \(fullName)." // "My name is John Doe."
查找子字符串
let sentence = "Swift is a powerful and intuitive programming language."
if sentence.contains("Swift") {
// do something
}
let range = sentence.range(of: "powerful") // Optional(Range(10..<18))
var str3 = "123456"
print(str.hasPrefix("123"))
print(str.hasSuffix("456")) 替换字符串
var sentence = "Swift is a powerful and intuitive programming language."
sentence = sentence.replacingOccurrences(of: "powerful", with: "amazing") 字符串删除
// 666hello_2_3_8884
str4.remove(at: str4.firstIndex(of: "1")!)
// hello_2_3_8884
str4.removeAll { $0 == "6" }
var range = str4.index(str4.endIndex, offsetBy: -4)..<str4.index(before: str4.endIndex)
// hello_2_3_4
str4.removeSubrange(range) 字符串插入
var str = "Hello, world!"
let firstChar = str[str.startIndex] // "H"
let lastChar = str[str.index(before: str.endIndex)] // "!"
str.insert("!", at: str.endIndex) // "Hello, world!!"
字符串分割
let names = "John, Jane, Jim"
let arr = names.components(separatedBy: ", ") // ["John", "Jane", "Jim"]
let str = "123"
let num = Int(str) // Optional(123)
let uppercased = str.uppercased() // "123"
var arr = [1, 2, 3, 4]
// [2, 4, 6, 8]
var arr2 = arr.map { $0 * 2 }
print(arr2)
// [2, 4]
var arr3 = arr.filter { $0 % 2 == 0 }
print(arr3)
// 10
var arr4 = arr.reduce(0) { $0 + $1 }
print(arr4)
// 10
var arr5 = arr.reduce(0, +)
print(arr5)
let setA = Set(["a","b","c"])
let setB: Set = ["a","b","c"]
setA.contains("a")
setA.insert("c")
setA.remove("a")
let set1 = Set([1,2,3])
let set2 = Set([1,2]) //运算判断
if set1 == set2 { }
// 子集,超集判断
set2.isSubset(of: set1)
set1.isSuperset(of: set2) // 并集,交集
set1.union(set2)
set1.intersection(set2)
Swift中常见的String用法,Array高阶使用,Set集合操作的更多相关文章
- swift是面向对象、面向协议、高阶类型、灵活扩展、函数式编程语言
swift是面向对象.面向协议.高阶类型.灵活扩展.函数式编程语言
- Python中匿名函数与内置高阶函数详解
大家好,从今天起早起Python将持续更新由小甜同学从 初学者的角度 学习Python的笔记,其特点就是全文大多由 新手易理解 的 代码与注释及动态演示 .刚入门的读者千万不要错过! 很多人学习pyt ...
- react第七单元(组件的高级用法-组件的组合(children的用法)-高阶组件-封装组件)
第七单元(组件的高级用法-组件的组合(children的用法)-高阶组件-封装组件) #受控组件 简而言之,就是受到状态state控制的表单,表单的值改变则state值也改变,受控组件必须要搭配onc ...
- RAC中常见的高级用法-组合
组合: concat组合: 按一定顺序执行皇上与皇太子关系 concat底层实现: 1.当拼接信号被订阅,就会调用拼接信号的didSubscribe 2.didSu ...
- swift中Double转String
swift上手有好几天了.发现swift除了本身的几个基本类型转换,一些比较特殊的数值类型转换需要“桥接”到Objective-C来进行- 代码当然也很简单- var numString = &quo ...
- 随机记录工作中常见的sql用法错误(一)
没事开始写博客,留下以前工作中常用的笔记,内容不全或者需要补充的可以留言,我只写我常用的. 网上很多类似动软生成器的小工具,这类工具虽然在表关系复杂的时候没什么软用,但是在一些简单的表结构关系还是很方 ...
- Sql server存储过程中常见游标循环用法
用游标,和WHILE可以遍历您的查询中的每一条记录并将要求的字段传给变量进行相应的处理 DECLARE ), ), @A3 INT DECLARE YOUCURNAME CURSOR FOR SELE ...
- Swift中"#"的用法
配置外部参数名 在函数(或者方法)的参数名前添加"#",可以使该参数拥有相同的本地参数名和外部参数名. 注:在方法中,第二个及后续的参数,默认是具有和内部参数一致的外部参数名的,只 ...
- RAC中常见的高级用法-bind方法
RAC操作思想: Hook(钩子)思想 RAC核心方法:bind bind方法 假设想监听文本框的内容,并且在每次输出结果的时候,都在文本框的内容拼接一段文字" ...
- RAC中常见的高级用法-过滤
filter 过滤信号,使用它可以获取满足条件的信号. - (void)filter { //只有当我们文本框内容长度大于5才想要获取文本框的内容 [[_passWord.rac_textS ...
随机推荐
- SpringBoot 项目实战 | 瑞吉外卖 Day03
该系列将记录一份完整的实战项目的完成过程,该篇属于第三天 案例来自B站黑马程序员Java项目实战<瑞吉外卖>,请结合课程资料阅读以下内容 该篇我们将完成以下内容: 公共字段自动填充 新添分 ...
- 阿里云 Serverless 异步任务处理系统在数据分析领域的应用
异步任务处理系统中的数据分析 数据处理.机器学习训练.数据统计分析是最为常见的一类离线任务.这类任务往往都是经过了一系列的预处理后,由上游统一发送到任务平台进行批量训练及分析.在处理语言方面,Pyth ...
- 一、java发送http的各类请求
导航 一.java发送http的各类请求 二.java发送https的各类请求 java开发中需要调用其他服务的对外提供的http请求可以参考如下代码: 注:调用的主类比较简单就不写了. pom.xm ...
- 实时渲染前沿研究:在浏览器上实现了Facebook提出的DLSS算法
大家好,我基于WebNN在浏览器上实现了2020年Facebook提出的Neural-Supersampling-for-Real-time-Rendering算法.它是一个用于实时渲染的神经网络超采 ...
- 如何在vim创建的脚本内添加固定的头部信息
编辑以下的文件: vim /etc/vimrc 在脚本的结尾添加如下内容: autocmd BufNewFile *.sh,*.script exec ":call WESTOS()&quo ...
- 08-Shell计算命令
1.expr命令 expr (evaluate expressions 的缩写),译为"表达式求值".Shell expr 是一个功能强大,并且比较复杂的命令,它除了可以实现整数计 ...
- [转帖]直接内存监控不准确,netty玩了什么花?
https://segmentfault.com/a/1190000044509636 是挺久没有"宠爱"我们netty小婊贝了,最近又开始搞事了. 于是,趁机探究了下MX ...
- [转帖]内存管理参数zone_reclaim_mode分析
zone_reclaim_mode 官方解释 调整方法 调整的影响 官方解释 最近在性能优化,看到了zone_reclaim_mode参数,记录备用 zone_reclaim_mode: Zone_r ...
- [转帖]坑:jmeter代理服务器录制脚本出现target controller is configured to "use recording Controller" but no such controller exists...
配置好代理服务器后,运行代理服务器 run 报错: target controller is configured to "use recording Controller" bu ...
- [转帖]Nginx应用调优案例
https://bbs.huaweicloud.com/blogs/146367 [摘要] 1 问题背景nginx的应用程序移植到TaiShan服务器上,发现业务吞吐量没有达到硬件预期,需要做相应调优 ...