import Foundation func filterResponseForDomain(response: String, domainKeywords: [String]) -> String { let filteredResponses = response.split(separator: "\n").filter { line in // Filter out any lines that contain domain-specific keywords for keyword in domainKeywords { if line.localizedCaseInsensitiveContains(keyword) { return true } } return false } return filteredResponses.joined(separator: "\n") } // Example usage let generatedResponse = """ Here is a general response. It contains some irrelevant content. But it also has some domain-specific keywords like Swift, programming, etc. And here's a conclusion. """ let domainKeywords = ["Swift", "programming", "domain-specific"] let filteredResponse = filterResponseForDomain(response: generatedResponse, domainKeywords: domainKeywords) print(filteredResponse)