diff --git a/VoiceInk/Services/AIEnhancementOutputFilter.swift b/VoiceInk/Services/AIEnhancementOutputFilter.swift
index c1601ee..f55c136 100644
--- a/VoiceInk/Services/AIEnhancementOutputFilter.swift
+++ b/VoiceInk/Services/AIEnhancementOutputFilter.swift
@@ -1,25 +1,27 @@
import Foundation
struct AIEnhancementOutputFilter {
- private static let reasoningPatterns = [
- #"(?s).*?"#,
- #"(?s).*?"#,
- #"(?s).*?"#,
- ]
-
static func filter(_ text: String) -> String {
- var filteredText = text
-
- for pattern in reasoningPatterns {
+ let patterns = [
+ #"(?s)(.*?)"#,
+ #"(?s)(.*?)"#,
+ #"(?s)(.*?)"#
+ ]
+
+ for pattern in patterns {
if let regex = try? NSRegularExpression(pattern: pattern) {
- let range = NSRange(filteredText.startIndex..., in: filteredText)
- filteredText = regex.stringByReplacingMatches(in: filteredText, options: [], range: range, withTemplate: "")
+ let range = NSRange(text.startIndex..., in: text)
+ if let match = regex.firstMatch(in: text, options: [], range: range) {
+ // Extract content from the first capturing group
+ if match.numberOfRanges > 1, let contentRange = Range(match.range(at: 1), in: text) {
+ let extractedText = String(text[contentRange])
+ return extractedText.trimmingCharacters(in: .whitespacesAndNewlines)
+ }
+ }
}
}
- filteredText = filteredText.replacingOccurrences(of: #"\s{2,}"#, with: " ", options: .regularExpression)
- filteredText = filteredText.trimmingCharacters(in: .whitespacesAndNewlines)
-
- return filteredText
+ // If no tags are found, return the original text as is.
+ return text
}
}
\ No newline at end of file