ios - 子串字符串并在它们之间进行比较

标签 ios swift xcode

我正在尝试对字符串进行子字符串化,然后在两个字符串之间进行比较,依此类推..

我尝试过这个:

for matchdate in matches.data! {
    datesarray.append(matchdate.dateGregorian!)
}
datesarray = datesarray.reduce([], {
    $0.contains($1) ? $0 : $0 + [$1]
})
datesarray = datesarray.sorted()
for date in datesarray {
    matchesarray.removeAll()
    for match in matches.data! {
        if date.prefix(10) == match.dateGregorian?.prefix(10) {
            .....
        }
    }
}

这工作正常..但是日期数组不是唯一的,我需要像这样之前对其进行子串:

for matchdate in matches.data! {
    datesarray.append(String(matchdate.dateGregorian!.prefix(10)))
}
datesarray = datesarray.reduce([], {
    $0.contains($1) ? $0 : $0 + [$1]
})
datesarray = datesarray.sorted()
for date in datesarray {
    matchesarray.removeAll()
    for match in matches.data! {
        if date == String(match.dateGregorian!.prefix(10)) {
            .....
        }
    }
}

但这不会做任何事情!我没有错误,但结果没有显示!

为什么?以及如何解决这个问题?

最佳答案

正如@vadian所说..我刚刚将它们转换为日期:

let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
dateFormatter.locale = Locale(identifier: "en")
let date = dateFormatter.date(from:matchdate.dateGregorian!)!
let calendar = Calendar.current
let components = calendar.dateComponents([.year, .month, .day], from: date)
let finalDate = calendar.date(from:components)

然后像这样比较它们:

if matchdate == finalDate{
 .....
}

问题已解决,现在一切正常:)!

关于ios - 子串字符串并在它们之间进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51706252/

相关文章:

ios - UIButton 在 UIScrollView 的初始框架外不可点击

ios - UITabBar - 更新 alpha 值并渲染它? ( swift )

xcode - Swift - 导航 Controller 不会杀死 View Controller 实例

xcode - 如何在 Xcode 中使用单个项目文件(在多台计算机中)

ios - Clock() 在 iOS 上无法正常工作

ios - 从 Alamofire 响应访问 JSON 值

ios - Appcelerator 第三方框架 arm64 错误

swift - 在 Swift 中获取 VK 用户头像

swift - 在快速解析 Json 中展开可选值时意外发现 nil

ios - Alamofire 构建失败 : issues in Manager. swift、Request.swift 和 ResponseSerialization.swift