python - Regex for removing whitespace -


def remove_whitespaces(value):     "remove whitespaces"     p = re.compile(r'\s+')     return p.sub(' ', value) 

the above code strips tags doesn't remove "all" whitespaces value.

thanks

the fastest general approach eschews res in favor of string's fast, powerful .translate method:

import string identity = string.maketrans('', '')  def remove_whitespace(value):   return value.translate(identity, string.whitespace) 

in 2.6, it's simpler, just

  return value.translate(none, string.whitespace) 

note applies "plain" python 2.* strings, i.e., bytestrings -- unicode's strings' .translate method different -- takes single argument must mapping of ord values unicode characters unicode strings, or none deletion. i.e., taking advantage of dict's handy .fromkeys classmethod:

nospace = dict.fromkeys(ord(c) c in string.whitespace)  def unicode_remove_whitespace(value):   return value.translate(nospace) 

to remove same set of characters. of course, unicode has more characters consider whitespace , want remove -- you'd want build mapping unicode_nospace based on information module unicodedata, rather using simpler approach based on module string.


Comments

Popular posts from this blog

c++ - Convert big endian to little endian when reading from a binary file -

C#: Application without a window or taskbar item (background app) that can still use Console.WriteLine() -

unicode - Are email addresses allowed to contain non-alphanumeric characters? -