我在xCode项目中嵌入了一个HTML文件,其中包含以下标记:
{说明}
{位置}
{提交时间}
我使用以下命令将文件内容加载到字符串中:
let url = Bundle.main.url(forResource: "emailTemplate", withExtension: "html")
var messageBody:NSString!
do { messageBody = try String(contentsOf: url!) as NSString! }
catch { messageBody = "" }
现在我已经填充了“messageBody”,我需要根据我的UI查找和替换标记,例如:
1)找到“{DESCRIPTION}”并将其替换为lblDescription.text
2)找到“{LOCATION}”并将其替换为lblLocation.text
我试图使用类似于:
messageBody.enumerateSubstrings(in: NSMakeRange(0, messageBody.length), options: .byWords) { (substring, substringRange, enclosingRange, _) -> () in
print(substring!)
}
但是,我对regex完全没有用处,如果子字符串等于一个标记,我可以借助一些帮助来查找和替换它。有什么想法吗?
最佳答案
你不需要正则表达式。重复调用replacingOccurrences
可以:
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)