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) } }