2013-04-06 20 views
3

我有动态生成的包含HTML链接的字符串。例如,字符串可能包含:Python:为存储在字符串中的链接生成新的URL

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,而是为他们生成新的网址,然后将它们放回字符串。所以,上面的例子中,如果运行成功,将是这样的:

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和我的“定制”前面加上其价值域。任何见解将不胜感激!

回答

1

这是使用正则表达式的理想场所。

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) 
+0

完美。谢谢! – sullivanmatt 2013-04-06 23:38:04