作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有一串数字(每个数字由 ,
分隔),如下所示:
"12,3,5,75,584,364,57,88,94,4,79,333,7465,867,56,6,748,546,573,466"
我想将字符串拆分为一个字符串数组,每个元素都是一个字符串,其中最多包含 10 个数字。
对于我添加的示例,我想实现这样的目标:
字符串数组:
Element 0: "12,3,5,75,584,364,57,88,94,4"
Element 1: "79,333,7465,867,56,6,748,546,573,466"
等等……
我一直在想用 Swift 做这件事的方法,但找不到任何东西......
有人有想法吗?
谢谢!
最佳答案
第 1 步 - 获得完全分离的数组:
let numbers = "12,3,5".components(separatedBy: ",")
第 2 步 - 使用 ext 将结果分块:
extension Array {
func chunked(by chunkSize: Int) -> [[Element]] {
return stride(from: 0, to: self.count, by: chunkSize).map {
Array(self[$0..<Swift.min($0 + chunkSize, self.count)])
}
}
}
let chunkedNumbers = numbers.chunked(by: 10)
第 3 步:
let stringsArray = chunkedNumbers.map { $0.joined(separator: ",") }
结果:["12,3,5,75,584,364,57,88,94,4", "79,333,7465,867,56,6,748,546,573,466"]
链接到 gist playground.
关于swift - 将字符串拆分为每个数组中具有最大变量的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47969339/
COW 不是奶牛,是 Copy-On-Write 的缩写,这是一种是复制但也不完全是复制的技术。 一般来说复制就是创建出完全相同的两份,两份是独立的: 但是,有的时候复制这件事没多大必要
我是一名优秀的程序员,十分优秀!