gpt4 book ai didi

ios - 如何遍历字符串数组并在 Swift 中获取子字符串?

转载 作者:行者123 更新时间:2023-11-29 00:33:48 24 4
gpt4 key购买 nike

首先,我觉得我的要求不同,这就是我问这个问题的原因,但如有必要,请标记为重复。

现在,我现在有一个字符串数组,如下所示:

["January 27, 5:00PM - 10:00PM", "February 28, 11:00AM - 10:00PM", "March 29, 11:00AM - 9:00PM"]

我知道如何像这样只提取每个索引的日期部分:

for index in 0..<array.count
{
if let range = array[index].range(of: ",")
{
date = array[index][array[index].startIndex..<range.lowerBound]
}
}

结果:1 月 27 日2 月 28 日3 月 29 日

我的问题是,如何遍历array 并仅提取月份的前 3 个字符,并将其存储在 var1 中,然后提取日期,将其存储在 var2 中,以一种干净高效的方式一次性完成?

我知道我可以实现这样的目标:

for index in 0..<array.count
{
if let range = array[index].range(of: ",")
{
date = array[index][array[index].startIndex..<range.lowerBound]

let nextArray = date.components(separatedBy: " ")

let month = nextArray[0]
let day = nextArray[1]
}
}

结果:月 = 一月日 = 27 等。

但是,我觉得这只是凌乱,而不是干净。另外,我仍然需要从 month 中提取前 3 个字符。

最佳答案

试试这个:

var months = [String]()
var days = [String]()
var array = ["January 27, 5:00PM - 10:00PM", "February 28, 11:00AM - 10:00PM", "March 29, 11:00AM - 9:00PM"]

array.forEach() {
let monthAndDay = $0.components(separatedBy: ",")

let dateFormatter = DateFormatter()

dateFormatter.dateFormat = "MMM dd"
let date = dateFormatter.date(from: monthAndDay.first!)

let dateFormatterMonth = DateFormatter()
dateFormatterMonth.dateFormat = "MMM"
months.append(dateFormatterMonth.string(from: date!))

let dateFormatterDay = DateFormatter()
dateFormatterDay.dateFormat = "dd"
days.append(dateFormatterDay.string(from: date!))
}

print(months) // Jan, Fer, Mar
print(days) // 27, 28, 29

关于ios - 如何遍历字符串数组并在 Swift 中获取子字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41116341/

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