[Python-ideas] strtr? (was startsin ?
Jan Kaliszewski
zuo at chopin.edu.pl
Sat Oct 1 13:28:48 CEST 2011
More information about the Python-ideas mailing list
Sat Oct 1 13:28:48 CEST 2011
- Previous message: [Python-ideas] Tweaking closures and lexical scoping to include the function being defined
- Next message: [Python-ideas] strtr? (was startsin ?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
INADA Naoki dixit (2011-10-01, 01:18): > I think `strtr`_ in php is also very useful when escaping something. > > _ strtr: http://jp.php.net/manual/en/function.strtr.php > > For example: > > .. code-block:: php > > php> = strtr("foo\\\"bar\\'baz\\\\", array("\\\\"=>"\\", > '\\"'=>'"', "\\'"=>"'")); > "foo\"bar'baz\\" > > .. code-block:: python > > In [1]: "foo\\\"bar\\'baz\\\\".replace('\\"', '"').replace("\\'", > "'").replace('\\\\', '\\') > Out[1]: 'foo"bar\'baz\\' > > In Python, lookup of 'replace' method occurs many times and temporary > strings is created many times too. > It makes Python slower than php. For this particular case I'd use .decode('string_escape') for Py2.x str and .decode('unicode_escape') for Py2.x unicode strings. And in Py3.x I'd use... Er... In Py3.x the planned mechanism of str.transform()/untransform() (here: untransform('unicode_escape')) would be ideal -- but it has not been re-introduced yet: http://bugs.python.org/issue7475 -- and IMHO it should be as a clear way to do such transformations. Cheers. *j
- Previous message: [Python-ideas] Tweaking closures and lexical scoping to include the function being defined
- Next message: [Python-ideas] strtr? (was startsin ?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-ideas mailing list