如何快速拆分String以获得Swift的最终结果

时间:2018-01-16 08:17:39

标签: ios swift string

我有一个拼写字符串的问题 我尝试在游乐场中编写一个函数并测试它的运行时间 我不知道是否有更好的拼接字符串功能。
有什么想法建议我吗? 感谢。

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
}

0 个答案:

没有答案