gpt4 book ai didi

swift - 使用 swift 正则表达式替换为函数而不是字符串

转载 作者:行者123 更新时间:2023-11-30 11:37:57 27 4
gpt4 key购买 nike

在 Javascript 中,您可以 replace a string with a function 。有没有办法在 Swift 中使用 NSRegularExpression 来做到这一点?

我想做相当于

"*Hello there*".replace(/(\*).*?(\*)/g, function(match, p1, p2, p3) {
return "<i>" + p2 + "</i>"
})

使用 Swift,因为我正在编写一个 Markdown 解析器。

最佳答案

您不能,但可以通过插入标签并随后删除引用字符来解决问题:

let str = "*Hello there*"
let result = str
.replacingOccurrences(of: "(\\*.*?\\*)", with: "<i>"+"$1"+"</i>", options: .regularExpression)
.replacingOccurrences(of: "\\*(.*?)\\*", with: "$1", options: .regularExpression)
print(result) // "<i>Hello there</i>"

关于swift - 使用 swift 正则表达式替换为函数而不是字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49539777/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com