如何用下划线替换空格?
我想把字符串中的空格替换成下划线,这样可以生成好看的网址。例如:
"This should be connected"
应该变成
"This_should_be_connected"
我正在使用Python和Django。这个问题可以用正则表达式来解决吗?
14 个回答
56
这段话的意思是,它考虑了除了空格以外的空白字符,并且我觉得它的速度比使用 re
模块要快:
url = "_".join( title.split() )
113
替换空格是可以的,但我建议你可以更进一步,处理一些其他在网址中不太友好的字符,比如问号、撇号、感叹号等等。
另外,SEO专家们普遍认为,在网址中使用连字符比下划线更好。
import re
def 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!"))
525
你其实不需要用到正则表达式。Python里面有一个内置的字符串方法,可以满足你的需求:
mystring.replace(" ", "_")