开发者

Python/Django: How to remove extra white spaces & tabs from a string?

开发者 https://www.devze.com 2023-01-26 00:46 出处:网络
I\'m building a website with Python/Django. Users submit tags. Each tag can contain multiple words. Each tag has an ID number. I want to make sure tags that are formatted slightly differently are stil

I'm building a website with Python/Django. Users submit tags. Each tag can contain multiple words. Each tag has an ID number. I want to make sure tags that are formatted slightly differently are still being recognized as the same tag.

For example, if one user submitted the tag "electric guitar" and the other submitted "electric   guitar" (2 white spaces between the 2 words) I want to be able to recognize they are the same tag.

How to I remove all the extra white spaces and tabs in 开发者_如何学编程this case? Thanks.


Split on any whitespace, then join on a single space.

' '.join(s.split())


>>> import re
>>> re.sub(r'\s+', ' ', 'some   test with     ugly  whitespace')
'some test with ugly whitespace'


I would use Django's slugify method, which condenses spaces into a single dash and other helpful features:

from django.template.defaultfilters import slugify


"electric guitar".split() will give you ['electric', 'guitar']. So will "electric \tguitar".


This function removes everything which is not digit in a string. I use it all over the place.

def parseInt(string):
    if isinstance(string, (str, int, unicode)):
        try:
            digit = int(''.join([x for x in string if x.isdigit() ]))
        except ValueError:
            return False
        else:
            return digit
    else:
        return False   


There could be many white spaces like below:

var = "         This      is the example  of how to remove spaces   "

Just do simple task like, use replace function:

realVar = var.replace(" ",'')

Now the outpur would be:

Thisistheexampleofhowtoremovespaces 

Just Chill......... :-)

0

精彩评论

暂无评论...
验证码 换一张
取 消