Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #38312

Re: Curious to see alternate approach on a search/replace via regex

Date 2013-02-06 23:11 +0000
From MRAB <python@mrabarnett.plus.com>
Subject Re: Curious to see alternate approach on a search/replace via regex
References <20130206134105.9352d665e1f8d0719021fcf9@lavabit.com>
Newsgroups comp.lang.python
Message-ID <mailman.1430.1360192315.2939.python-list@python.org> (permalink)

Show all headers | View raw


On 2013-02-06 21:41, rh wrote:
> I am curious to know if others would have done this differently. And if so
> how so?
>
> This converts a url to a more easily managed filename, stripping the
> http protocol off.
>
> This:
>
> http://alongnameofasite1234567.com/q?sports=run&a=1&b=1
>
> becomes this:
>
> alongnameofasite1234567_com_q_sports_run_a_1_b_1
>
>
> def u2f(u):
>      nx = re.compile(r'https?://(.+)$')
>      u = nx.search(u).group(1)
>      ux = re.compile(r'([-:./?&=]+)')
>      return ux.sub('_', u)
>
> One alternate is to not do the compile step. There must also be a way to
> do it all at once. i.e. remove the protocol and replace the chars.
>
Here's one way:

def u2f(u):
     return re.sub(r'^https?://|([-:./?&=]+)', lambda m: '_' if 
m.group(1) else '', u)

Back to comp.lang.python | Previous | Next | Find similar | Unroll thread


Thread

Re: Curious to see alternate approach on a search/replace via regex MRAB <python@mrabarnett.plus.com> - 2013-02-06 23:11 +0000

csiph-web