假设我有一个日志文件,我已将其拆分为一个字符串数组。例如,我在这里有这些行。
123.4.5.1 - - [03/Sep/2013:18:38:48 -0600] "GET /products/car/ HTTP/1.1" 200 3327 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_4) AppleWebKit /537.36 (KHTML, like Gecko) Chrome/29.0.1547.65 Safari/537.36"
123.4.5.6 - - [03/Sep/2013:18:38:58 -0600] "GET /jobs/ HTTP/1.1" 500 821 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:23.0 ) 壁虎/20100101 Firefox/23.0"
我可以用典型的字符串操作来解析这些,但是我认为有一个更好的方法可以用 Regex 来做到这一点。我试图遵循某人在python 中使用的类似模式,但我无法弄清楚。这是我的尝试。
这是模式: ([(\d.)]+) - - [(. ?)] "(. ?)" (\d+) - "(. ?)" "(. ?)" 当我尝试使用它,我没有匹配项。
let lines = contents.split(separator: "\n")
let pattern = "([(\\d\\.)]+) - …Run Code Online (Sandbox Code Playgroud) 我正在学习 SwiftUI 并尝试实现 MVVM 架构。这个想法很简单,我尝试将照片添加到列表中,该列表会根据所选的工作日进行更改。照片保存在本地。
然而,当我使用 MVVM 架构时,它使整个情况变得复杂。特别是如果您想分别保存工作日的每个时间表。因为每个工作日都是一个单独的数组。我确信有一种更简单的方法来执行下面的代码。但我没有弄清楚。
import Foundation
struct Activity: Identifiable, Codable {
var id = UUID()
var image: String
var name: String
}
Run Code Online (Sandbox Code Playgroud)
视图模型:
import Foundation
import UIKit
class Activities: ObservableObject {
//MARK:- PROPERTIES:
var indoorActivities = [Activity]()
var outdoorActivities = [Activity]()
let documentDirectory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!.path
//Use it as example in RowView preview
var exampleAct: [Activity] {
return [indoorActivities[0], indoorActivities[1]]
}
@Published var sundayActivities = [Activity]() {
didSet {
print("Change hapeend to …Run Code Online (Sandbox Code Playgroud)