gpt4 book ai didi

swift - 从字符串中按位置删除字符

转载 作者:行者123 更新时间:2023-12-02 16:36:44 27 4
gpt4 key购买 nike

我想从字符串中按位置删除两个字符,例如我想从 subCadenaTX4 中的位置 4 和 5 删除字符

let fechaNacRFC = "25/12/1997"
let subCadenaTX4 = fechaNacRFC!.replacingOccurrences(of: "/", with: "", options: NSString.CompareOptions.literal, range: nil)
print(subCadenaTX4) // It will be 25121997

我读到我可以使用 removeAtIndex 但在这种情况下它是什么方式?

我的预期输出:251297

最佳答案

我认为通过使意图更加清晰而不是乱用字符串索引,可以更清楚地表达这段代码。

这也为您提供了一种自然的方式来验证输入的格式是否有效。

import Foundation

// You can cache and reuse these
let parser = DateFormatter()
parser.dateFormat = "dd/MM/yyyy"
let formatter = DateFormatter()
formatter.dateFormat = "ddMMyy"


let input = "25/12/1997"
guard let date = parser.date(from: input) else {
// TODO: handle error here properly.
fatalError("The input wasn't in the expected format!")
}
let output = formatter.string(from: date)

print(output) // => 251297

想象一下,如果日期源更改了格式,例如 ISO 8601,则为您的系统提供 “1997-12-25”。假设您按照尝试的方式实现了转换,首先将 "/" 替换为 "",然后删除第 4 个和第 5 个字符。您的系统将静静地接受这个无效输入,并静静地吐出 "19972-25",没有任何错误发生的迹象。

通过这种方法,输入格式被简单地验证,你会发现像这样的无意义的大错误,而不是无声的错误数据。

关于swift - 从字符串中按位置删除字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62560954/

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