Python:为存储在字符串中的链接生成新的 URL

标签 python string prepend

我有动态生成的字符串,其中包含 HTML 链接。例如,字符串可能包含:

You can visit <a class="hyperlink" href="https://www.stackoverflow.com">Stack Overflow</a> or <a class="hyperlink" href="https://www.reddit.com">Reddit.com</a> for help, or you can visit <a href="hyperlink" href="https://www.google.com">https://www.google.com</a>

我正在尝试查找所有 href,而不是为它们生成新的 URL,然后将它们插入回字符串中。所以上面的例子,如果运行成功,看起来像:

You can visit <a class="hyperlink" href="https://mydomain.com/www.stackoverflow.com">Stack Overflow</a> or <a class="hyperlink" href="https://mydomain.com/reddit.com">Reddit.com</a> for help, or you can visit <a href="hyperlink" href="https://mydomain.com/www.google.com">https://www.google.com</a>

我是 Python 的新手,并没有成功地弄清楚如何找到 href 并将其值添加到我的“自定义”域中。任何见解将不胜感激!

最佳答案

这是使用正则表达式的最佳位置。

import re

text = 'You can visit <a class="hyperlink" href="https://www.stackoverflow.com">Stack Overflow</a>'
new_text = re.sub(r'href="http(s)?:\/\/(.+?)"', r'href="https://mydomain.com/\2"', text)

关于Python:为存储在字符串中的链接生成新的 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15857014/

相关文章:

python - 在 python 中实现列表并尝试一些方法

Python测试: using a fake file with mock & io. StringIO

php - 如何在 PHP 中将数组值转换为小写?

c# - 可以让 Python 从 C# 接收可变长度的字符串数组吗?

C - 为什么需要 strcpy()

string - 如何在 CSV 文件末尾多次添加相同的字符串?

jquery - 在 jQuery 中添加未封闭的标签

jquery - jQuery 中 .prepend 方法的问题

jQuery on click将div添加到 'list'的前面

python - cpython 2.7 中的内存泄漏