Reputation: 13040
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.
Upvotes: 25
Views: 29342
Reputation: 11473
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
Upvotes: -2
Reputation: 318488
>>> import re
>>> re.sub(r'\s+', ' ', 'some test with ugly whitespace')
'some test with ugly whitespace'
Upvotes: 20
Reputation: 1144
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......... :-)
Upvotes: -10
Reputation: 50941
"electric guitar".split()
will give you ['electric', 'guitar']
. So will "electric \tguitar"
.
Upvotes: 1
Reputation: 798566
Split on any whitespace, then join on a single space.
' '.join(s.split())
Upvotes: 53
Reputation: 19998
I would use Django's slugify
method, which condenses spaces into a single dash and other helpful features:
from django.template.defaultfilters import slugify
Upvotes: 7