All checks were successful
CI / Scraper / Lint (push) Successful in 10s
CI / Scraper / Test (push) Successful in 14s
Release / Scraper / Test (push) Successful in 18s
CI / Scraper / Lint (pull_request) Successful in 18s
Release / UI / Build (push) Successful in 23s
CI / Scraper / Test (pull_request) Successful in 15s
CI / UI / Build (pull_request) Successful in 32s
Release / Scraper / Docker (push) Successful in 55s
CI / Scraper / Docker Push (pull_request) Has been skipped
CI / UI / Docker Push (pull_request) Has been skipped
CI / Scraper / Docker Push (push) Successful in 1m5s
Release / UI / Docker (push) Successful in 1m12s
iOS CI / Build (push) Successful in 4m18s
iOS CI / Build (pull_request) Successful in 4m25s
iOS CI / Test (push) Successful in 8m11s
iOS CI / Test (pull_request) Successful in 8m21s
20 lines
619 B
Swift
20 lines
619 B
Swift
import Foundation
|
||
|
||
extension String {
|
||
/// Strips trailing date parentheticals from chapter titles.
|
||
/// Handles formats like:
|
||
/// " (January 5, 2025)"
|
||
/// " - Jan 01 2024"
|
||
func strippingTrailingDate() -> String {
|
||
let patterns = [
|
||
#"\s*\([A-Za-z]+ \d{1,2},\s+\d{4}\)\s*$"#,
|
||
#"\s*[-–]\s*\w+\s+\d{1,2}\s+\d{4}\s*$"#,
|
||
]
|
||
var result = self
|
||
for pattern in patterns {
|
||
result = result.replacingOccurrences(of: pattern, with: "", options: .regularExpression)
|
||
}
|
||
return result.trimmingCharacters(in: .whitespaces)
|
||
}
|
||
}
|