我试图将一个Int拆分为其各个数字,例如3489到3 4 8 9,然后我要将这些数字放入一个Int数组中。
我已经尝试过将数字放入字符串中,然后遍历每个数字,但是它不起作用:
var number = "123456"
var array = [Int]()
for digit in number {
array.append(digit)
}
有任何想法吗?
我们还可以扩展StringProtocol并创建一个计算属性:
编辑/更新: Xcode 11•Swift 5.1
extension StringProtocol {
var digits: [Int] { compactMap(\.wholeNumberValue) }
}
let string = "123456"
let digits = string.digits // [1, 2, 3, 4, 5, 6]
extension LosslessStringConvertible {
var string: String { .init(self) }
}
extension Numeric where Self: LosslessStringConvertible {
var digits: [Int] { string.digits }
}
let integer = 123
let integerDigits = integer.digits // [1, 2, 3]
let double = 12.34
let doubleDigits = double.digits // // [1, 2, 3, 4]
在 Swift 5中, 我们现在可以使用新Character
属性wholeNumberValue
let string = "123456"
let digits = string.compactMap{ $0.wholeNumberValue } // [1, 2, 3, 4, 5, 6]
问题内容: 我想将我的int值拆分为数字。例如,如果没有。是542,结果应为5,4,2。 我有2个选择。1)将int转换为String,然后使用getCharArray(),我可以使用单独的字符,然后将它们转换回int值。 2)将int转换为String,而不将其转换为char数组,对其进行迭代并获取所有数字。 还有其他解决方法。如果没有,哪个选项会很快? 问题答案:
给定一个值数组,我如何将它分成由相等元素组成的? 给定这个数组 我想要这个输出 解决这一问题的一种可能方法是创建某种索引,以指示每个元素的出现情况。 最后使用索引重建输出数组。 但是,使用此解决方案,我会丢失原始值。当然,在这种情况下,这不是一个大问题(一个值仍然存在,即使重新创建,),但我想将此解决方案应用于像这样更复杂的数据结构 实际上,我正在寻找的函数是与相反的函数 我希望我已经说清楚了,如
问题内容: 我如何将字符串分成多行,如下所示? 问题答案: Swift 4包括对多行字符串文字的支持。除换行符外,它们还可以包含未转义的引号。 较早版本的Swift不允许您在多行上使用单个文字,但可以在多行上将文字添加在一起:
我在presto上有一个表,它有多个记录的记录。在该记录中,我使用了这个简单的SQL查询,
问题内容: 想象一下,我有一个这样的JS数组: 我想要的是将该数组拆分为N个较小的数组。例如: 对于Python,我有这个: 对于JS,我可以提出的最佳解决方案是递归函数,但我不喜欢它,因为它既复杂又丑陋。这个内部函数返回一个像这样的数组[1,2,3,null,4,5,6,null,7,8],然后我必须再次循环并手动拆分它。(我的第一次尝试是返回此:[1、2、3,[4、5、6,[7、8、9]]],
我不知道如何在这里放入代码,这样我就可以显示我到目前为止所测试的内容,仅仅是为了重新熟悉整数中一定量数字的拆分。 编辑以添加: ^这是我到目前为止的结果,但现在我的问题是,我需要将每个整数的数字存储在不同的列表中。这是从文件中读取的未定数量的整数。用于计数和结束循环的数字只是示例。 对代码的最新更新:我现在需要知道的几乎是如何让循环知道txt文件中没有更多的行了。