Swift3.0 字符串
来源:互联网 发布:windows 画图命令 编辑:程序博客网 时间:2024/05/24 04:20
其实很喜欢学习到新东西时候的那种满足感,虽然是如此的初级,就像之前学习HTML的时候一样,真好
举个例子来说明吧,刚才用到的一个例子
把字符串
var str = "Twigs x3, Rocks x3, Rope x2"
转化成
[ (name: "Twigs", count: "3"), (name: "Rocks", count: "3"), (name: "Rope", count: "2"),]
这个样子的
首先,分割
这个字符串是以 ,
为间隔的,所以我们就以它为分割
//最近发现一个正规的新方法,这下面是以前初学Swift的时候用的var strArr = str.components(separatedBy: "_")// 有两种方法 .components(separatedBy: String) .components(separatedBy: CharacterSets)// OLD ONEvar strArr = str.characters.split(separator: ",").map( {String($0)} )// 前面不需要多说 characters.split(separator: ",") 就是以 `,` 进行分割,返回数组,此时返回的并不是String// 后面的 map({}) 是`数组`的一个转化函数,接收函数作为参数, $0 表示 函数的第一个参数。
此时的 strArr
是这样的,后两个前面都有空格
Twigs x3 Rocks x3 Rope x2
所以
去前后的空格
去空格用到一个 String
的 trimmingCharacters(in: CharacterSet)
方法,接收一个字符集合,这里我们需要含有空格的 String.whitespaces
set
for tempStr in strArr{ tempArr = tempStr.trimmingCharacters(in: String.whitespaces).characters.split(separator: " ").map({String($0)}) // 我就不再冗述了,上面就是获取去掉空格的字符串之后又分割一遍 // 此时还在循环内,tempArr 里面是这样的 ["Twigs","x3"] // 此时,需要把第二个的 `x` 给去掉}
remove(at: String.Index)
这个,我还是在下面说吧,.remove 接收字符index 然后去掉 这个位置的字符,返回 的是 去掉这个字符后的字符串
所以,接着上面的我们先等到 x
的位置
let index = tempArr[1].characters.indexof("x")// 然后去掉这个位置的 字符tempArr[1].remove(at: index)
完整的代码是这样的
func getCraftMaterials(crafting: String) -> [(name: String, count: String)]{ let cc = crafting.characters.split(separator: ",").map({String($0)}) var arr:[(name: String, count: String)] = [] for tempStr in cc{ let tempArr = tempStr.trimmingCharacters(in: CharacterSet.whitespaces).characters.split(separator: " ").map({String($0)}) var count = tempArr[1] if let xPosition = count.characters.index(of: "x"){ count.remove(at: xPosition) } arr.append((tempArr[0],count)) } return arr}
阅读全文
0 0
- swift3.0 关于字符串
- Swift3.0 截取字符串
- Swift3.0 字符串
- Swift3.0 字符串
- swift3.0 中字符串截取
- swift3.0 中字符串截取
- swift3.0 字符串和字符
- swift3.0字符串截取,字符串处理
- Swift3.0语法--字符串和字符
- Swift3.0学习笔记----遍历字符串
- swift3.0使用下标截取字符串
- Swift3.0语言教程获取字符串长度
- Swift3.0语言教程获取C字符串
- Swift3.0语言教程比较、判断字符串
- Swift3.0语言教程替换子字符串
- Swift3.0语言教程组合字符串
- Swift3.0语言教程字符串大小写转化
- Swift3.0语言教程使用路径字符串
- Ubuntu12.04安装配置OpenJDK8
- 每位技术人员都该敬仰的老板--任正非
- cocos2dx 植物大战僵尸 13 僵尸的产生
- Android build(6) -- shell脚本的学习
- 再一次惊艳!当Win10资源监视器UWP用上Fluent流畅设计体系
- Swift3.0 字符串
- 使用ToggleButton按钮实现的灯泡开关效果
- 自动内存管理机制
- 多线程知识巩固(八) 异步,同步
- LintCode-中位数
- 关于贪心思想与DP的结合的几点认识
- 关于android studio项目构建时产生各种问题的解决方法
- hrbust 2153 凸多边形的划分 (数论)
- Codeforces812C Sagheer and Nubian Market