471,350 Members | 2,004 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 471,350 software developers and data experts.

Find & Replace hyperlinks in a string

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
Nov 27 '07 #1
2 2753
On Nov 27, 1:37 am, Nico Grubert <nicogrub...@gmail.comwrote:
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
Nov 27 '07 #2
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
Nov 27 '07 #3

This discussion thread is closed

Replies have been disabled for this discussion.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.