gpt4 book ai didi

ios - 如何从电话号码字符串中删除几个数字 - Swift

转载 作者:行者123 更新时间:2023-11-28 13:13:25 25 4
gpt4 key购买 nike

我几乎没有问题。我尝试快速格式化电话号码。现在我只有数字。

var number = "(123) 456-789"

let clean = "".join(number.componentsSeparatedByCharactersInSet(NSCharacterSet.decimalDigitCharacterSet().invertedSet))

问题是。如何检查此字符串中从 0...3 开始的索引。如果会有类似“0044”或索引 0...1“44”的内容,则将其删除。

最佳答案

let number = "0044 123 456-7890"
let numberArray = map(number) { String($0) }
let numbersOnly = numberArray.filter { $0.toInt() != nil }
let numbers = "".join(numbersOnly.reverse()[0...9].reverse())
println(numbers) // Prints "1234567890"

这只是为您提供一个通用示例,说明如何完成此操作。我真的不喜欢使用固定数字作为索引。如果您的电话号码总是至少有 10 个号码,这应该是安全的。


更新了 Swift 4 的答案。
它现在很安全且易于碰撞!

let number = "0044 123 456-7890"
let numberArray = number.map { String ($0) }
var numbersOnly = numberArray.filter { Int($0) != nil }
let remove = numbersOnly.count > 3 ? numbersOnly[...3].joined() == "0044" : false
let result = numbersOnly[(remove ? 4 : 0)...]

print(result) // 1234567890

关于ios - 如何从电话号码字符串中删除几个数字 - Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30299001/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com