Find & Replace hyperlinks in a string

M

MonkeeSage

Hi there,

I have a string containing some hyperlinks. I'd like to replace every
hyperlink with a HTML style link.

Example:
--------
Replace
'http://www.foo.com/any_url'
with
'<a href="http://www.foo.com/any_url">http://www.foo.com/any_url</a>'

What's the best way to do this if I have a few hundret strings to check?

Thanks in advance,
Nico

Well, this isn't the most robust and someone will probably say not to
use regular expressions, but the Q&D way is:

import re
fixed = re.sub(r'(http:[^\s\n\r]+)', r'<a href="\1">\1</a>',
your_string)

NB. If the URLs are malformed (like have spaces in them, or are broken
over several lines) this won't work right.

Regards,
Jordan
 
G

gsal

You mean in Python? 'cause if it is a one time shot kind of thing, I
would simply open the file in my favorite editor (NEdit) and use a
Search and Replace, check the regexp box and type my
expression...something along the lines of ([^:]+)://([^:/]+):)
([0-9]+))?(/.*) to find URLs and then replace with <a href="\0">\0</
a> ...if I remember correctly that \0 is the entire match, \1 the
first parenthesised match, etc.

gsal
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,763
Messages
2,569,562
Members
45,038
Latest member
OrderProperKetocapsules

Latest Threads

Top