我在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)

10-01 22:24