我有一个拼写字符串的问题
我尝试在游乐场中编写一个函数并测试它的运行时间
我不知道是否有更好的拼接字符串功能。
有什么想法建议我吗?
感谢。
func spliteMessage() -> String {
let startTime = CACurrentMediaTime()
print("--> StartTime: \(startTime)")
let str:String = "<a href=\"url://app/user/5a4defba4d092f3f00e0fdb1\">@user1 </a><a href=\"url://app/user/5a4defba4d092f3f00e0fdb2\">@user2 </a><a href=\"url://app/user/5a4defba4d092f3f00e0fdb3\">@user3 </a><a href=\"url://app/user/5a4defba4d092f3f00e0fdb4\">@user4 </a><a href=\"url://app/user/5a4defba4d092f3f00e0fdb5\">@user5 </a><a href=\"url://app/user/5a4defba4d092f3f00e0fdb6\">@user6 </a><a href=\"url://app/user/5a4defba4d092f3f00e0fdb7\">@user7 </a><a href=\"url://app/user/5a4defba4d092f3f00e0fdb8\">@user8 </a><a href=\"url://app/user/5a4defba4d092f3f00e0fdb9\">@user9 </a><a href=\"url://app/user/5a4defba4d092f3f00e0fd10\">@user10 </a><a href=\"url://app/user/5a4defba4d092f3f00e0fd11\">@user11 </a><a href=\"url://app/user/5a4defba4d092f3f00e0fd12\">@user12 </a> Have a nice day!"
let fullArr = str.components(separatedBy: "</a>")
var finalArray = [[String:String]]()
var commonMessage:String = ""
var taggedMessage:String = ""
fullArr.forEach { (string) in
if string.hasPrefix("<a href=\"url://app/user/") {
var a = string.replacingOccurrences(of: "<a href=\"url://app/user/", with: "")
var userId = (a as NSString).substring(to: 24)
var name = (a as NSString).substring(from: 26)
finalArray.append([userId:name])
}else{
commonMessage = string
}
}
finalArray.forEach { (dic) in
dic.forEach({ (id,name) in
taggedMessage += name
})
}
let finalmsg = taggedMessage + commonMessage
print("--> finalmsg: \(finalmsg)")
let endTime = CACurrentMediaTime()
print("--> EndTime: \(endTime)")
print("--> Time: \(endTime - startTime)")
return finalmsg
}
最终印刷品:
- &GT; StartTime:22153.978737749
- &GT; finalmsg:@ user1 @ user2 @ user3 @ user4 @ user5 @ user6 @ user7 @ user8 @ user9 @ user10 @ user11 @ user12祝你有愉快的一天!
- &GT;结束时间:22154.030463062
- &GT;时间:0.0517253129983146
更新:
//change finalArray type to dictionary.
finalArray = [String:String]()
finalArray.forEach({ (id,name) in
taggedMessage += name
}