How do I replace whitespaces with underscore? How do I replace whitespaces with underscore? python python

How do I replace whitespaces with underscore?


You don't need regular expressions. Python has a built-in string method that does what you need:

mystring.replace(" ", "_")


Replacing spaces is fine, but I might suggest going a little further to handle other URL-hostile characters like question marks, apostrophes, exclamation points, etc.

Also note that the general consensus among SEO experts is that dashes are preferred to underscores in URLs.

import redef urlify(s):    # Remove all non-word characters (everything except numbers and letters)    s = re.sub(r"[^\w\s]", '', s)    # Replace all runs of whitespace with a single dash    s = re.sub(r"\s+", '-', s)    return s# Prints: I-cant-get-no-satisfaction"print(urlify("I can't get no satisfaction!"))


This takes into account blank characters other than space and I think it's faster than using re module:

url = "_".join( title.split() )


matomo