gpt4 book ai didi

regex - 将所有文本 url 替换为 html url

转载 作者:行者123 更新时间:2023-12-02 21:37:40 27 4
gpt4 key购买 nike

我有一个文本文件,其中包含要替换为在新选项卡中打开的 a 标记的网址。我正在将 .txt 文件转换为 .md 文件并需要可点击的链接。

我在下面展示了(1)一个MWE,(2)所需的输出(3)我创建函数的最初尝试(我假设这将/可以采用gsubsprintf 功能实现):

MWE:

x <- c("content here: http://stackoverflow.com/", 
"still more",
"http://www.talkstats.com/ but also http://www.r-bloggers.com/",
"http://htmlpreview.github.io/?https://github.com/h5bp/html5-boilerplate/blob/master/404.html"
)

** 所需的输出:**

> x
[1] "content here: <a href="http://stackoverflow.com/" target="_blank">http://stackoverflow.com/</a>"
[2] "still more"
[3] "<a href="http://www.talkstats.com/" target="_blank">http://www.talkstats.com/</a> but also <a href="http://www.r-bloggers.com/" target="_blank">http://www.r-bloggers.com/</a>"
[4] "<a href="http://htmlpreview.github.io/?https://github.com/h5bp/html5-boilerplate/blob/master/404.html" target="_blank">http://htmlpreview.github.io/?https://github.com/h5bp/html5-boilerplate/blob/master/404.html</a>"

初步尝试解决:

repl <- function(x) sprintf("<a href=\"%s\" target=\"_blank\">%s</a>", x, x)
gsub("http.", repl(), x)

使用 "http.\\s" 作为正则表达式的一个特殊情况是,字符串可能不会像 x[3] 中那样以空格结尾,或者url 包含 http,它不仅仅只想解析一次(如 x[4] 中所示)。

请注意 R 正则表达式特定于 R;
其他语言的答案不太可能有效

最佳答案

这适用于您的示例 x,并使用您的 repl 方法:

gsub("(http://[^ ]*)", repl('\\1'), x)

或者没有您的repl方法:

gsub("(http://[^ ]*)", '<a href="\\1" target="_blank">\\1</a>', x)

关于regex - 将所有文本 url 替换为 html url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21006142/

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