gpt4 book ai didi

arrays - 将字符串拆分为数组并对每个字符 Swift 执行特定操作

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

我有字符串,类似于 (495)_-___-____。那是电话号码的掩码。我有一个名为 InputMask 的库

该库有特定的规则来形成文本字段的掩码。所以,我需要以某种方式将上面的掩码转换为 {495[0]_[0][0][0]_[0][0][0],这将是正确的格式。

那么,我想知道我是否可以通过像 map 这样的功能来实现这一点?我只需要将字符串 (495)_-___-____ 拆分为字符数组。如果该字符等于“_”或“*”,即用户将在文本字段上放置字符时的位置,那么我只需将其替换为 [0]。其他字符是符号应保持不变。

如何将字符串拆分为Array并使用map函数形成一个新数组?

最佳答案

解决方法:

let mask = "(495)_-___-____"
// use mask.map in swift 4
let strings: [String] = mask.characters.map {
char in
if char == "_" {
return "[0]"
} else if char == "-" {
return "_"
} else {
return char.description
}
}


let finalResult = "{" + strings.joined()

如您所见,代码非常简单。 map 闭包中的代码很长,因此循环可能看起来更好(IMO)。

这是另一种不使用高阶函数的解决方案,但 IMO 更简单:

"{" + mask.replacingOccurrences(of: "_", with: "[0]")
.replacingOccurrences(of: "-", with: "_")

关于arrays - 将字符串拆分为数组并对每个字符 Swift 执行特定操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46418778/

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