2016-11-23 8 views
0

ich eine HTML-Datei in meinem Xcode-Projekt eingebettet haben, die Tags in ihm zB:Regex Suchen/Ersetzen-Liste von Schlüsseln (Swift 3)

{DESCRIPTION}

{LOCATION}

{TIME_SUBMITTED}

ich den Inhalt der Datei in einen String laden mit:

let url = Bundle.main.url(forResource: "emailTemplate", withExtension: "html") 
var messageBody:NSString! 

do { messageBody = try String(contentsOf: url!) as NSString! } 
catch { messageBody = "" } 

Jetzt habe ich bevölkert „Messagebody“ Ich brauche die Tags auf der Grundlage meiner UI, zum Beispiel zu finden und ersetzen:

1) finden „{DESCRIPTION}“ und ersetzen Sie es mit lblDescription.text

2) finden „{LOCATION}“ und ersetzen sie es mit lblLocation.text

ich versuche, Code zu verwenden, ähnlich wie:

messageBody.enumerateSubstrings(in: NSMakeRange(0, messageBody.length), options: .byWords) { (substring, substringRange, enclosingRange, _) ->() in 
    print(substring!) 
      } 

Allerdings bin ich mit regex völlig nutzlos und mit etwas Hilfe tun könnte zu finden und ersetzen wenn der Teilstring einem Tag entspricht. Irgendwelche Ideen bitte?

Antwort

1

Sie brauchen keine Regex dafür. Wiederholte Anrufe an replacingOccurrences werden:

import Foundation 

let emailTemplate = "Hello {USER}\n" + 
    "{DESCRIPTION}\n" + 
    "\n" + 
    "Regards." 

let email = emailTemplate 
       .replacingOccurrences(of: "{USER}", with: "John Smith") 
       .replacingOccurrences(of: "{DESCRIPTION}", with: "Have a nice day") 
print(email) 
+0

Ausgezeichnet, danke! – RJH