c语言把下划线换成空格,python - 如何用下划线替换空格,反之亦然?
python - 如何用下划线替换空格,反之亦然?
我想用字符串中的下划线替换空格来创建漂亮的URL。 例如:
"This should be connected" becomes "This_should_be_connected"
我正在使用Python与Django。 这可以使用正则表达式解决吗?
13个解决方案
263 votes
您不需要正则表达式。 Python有一个内置的字符串方法,可以满足您的需求:
mystring.replace(" ", "_")
rogeriopvl answered 2019-04-24T14:40:51Z
62 votes
替换空格很好,但我可能会建议更进一步处理其他URL恶意字符,如问号,撇号,感叹号等。
另请注意,SEO专家的普遍共识是破折号优先于URL中的下划线。
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!"))
Triptych answered 2019-04-24T14:41:26Z
37 votes
Django具有“slugify”功能,可以执行此操作,以及其他对URL友好的优化。 它隐藏在defaultfilters模块中。
>>> from django.template.defaultfilters import slugify
>>> slugify("This should be connected")
this-should-be-connected
这不是您要求的输出,但IMO最好用于URL。
Daniel Roseman answered 2019-04-24T14:42:02Z
29 votes
这考虑了空间以外的空白字符,我认为它比使用re模块更快:
url = "_".join( title.split() )
xOneca answered 2019-04-24T14:42:29Z
15 votes
使用string.replace模块:
import re
re.sub('\s+', '_', "This should be connected") # This_should_be_connected
re.sub('\s+', '_', 'And so\tshould this') # And_so_should_this
除非您有多个空格或上述其他空白可能性,否则您可能只想使用其他人建议的string.replace。
Jarret Hardie answered 2019-04-24T14:43:07Z
8 votes
使用字符串替换方法:
"this_should_be_disconnected".replace("_", " ")
"this_should_be_disconnected".replace("_", " ")
mdirolf answered 2019-04-24T14:43:46Z
4 votes
我正在使用以下代码片段为我的友好网址:
from unicodedata import normalize
from re import sub
def slugify(title):
name = normalize('NFKD', title).encode('ascii', 'ignore').replace(' ', '-').lower()
#remove `other` characters
name = sub('[^a-zA-Z0-9_-]', '', name)
#nomalize dashes
name = sub('-+', '-', name)
return name
它也适用于unicode字符。
Armandas answered 2019-04-24T14:44:20Z
3 votes
Python在字符串上有一个内置的方法,名为replace,用法如下:
string.replace(old, new)
所以你会用:
string.replace(" ", "_")
我刚才有这个问题,我编写代码来替换字符串中的字符。 我必须开始记得检查python文档,因为它们内置了所有功能。
answered 2019-04-24T14:45:05Z
3 votes
令人惊讶的是这个库尚未提及
名为python-slugify的python包,它可以很好地进行重击:
pip install python-slugify
像这样工作:
from slugify import slugify
txt = "This is a test ---"
r = slugify(txt)
self.assertEquals(r, "this-is-a-test")
txt = "This -- is a ## test ---"
r = slugify(txt)
self.assertEquals(r, "this-is-a-test")
txt = 'C\'est déjà l\'été.'
r = slugify(txt)
self.assertEquals(r, "cest-deja-lete")
txt = 'Nín hǎo. Wǒ shì zhōng guó rén'
r = slugify(txt)
self.assertEquals(r, "nin-hao-wo-shi-zhong-guo-ren")
txt = 'Компьютер'
r = slugify(txt)
self.assertEquals(r, "kompiuter")
txt = 'jaja---lol-méméméoo--a'
r = slugify(txt)
self.assertEquals(r, "jaja-lol-mememeoo-a")
Yash answered 2019-04-24T14:45:54Z
1 votes
OP正在使用python,但在javascript中(由于语法类似,需要注意的事项。
// only replaces the first instance of ' ' with '_'
"one two three".replace(' ', '_');
=> "one_two three"
// replaces all instances of ' ' with '_'
"one two three".replace(/\s/g, '_');
=> "one_two_three"
twmulloy answered 2019-04-24T14:46:22Z
1 votes
mystring.replace (" ", "_")
如果将此值分配给任何变量,它将起作用
s = mystring.replace (" ", "_")
默认情况下mystring不会有这个
Rajesh answered 2019-04-24T14:47:01Z
0 votes
您可以尝试这样做:
mystring.replace(r' ','-')
Meghaa Yadav answered 2019-04-24T14:47:32Z
-2 votes
perl -e 'map { $on=$_; s/ /_/; rename($on, $_) or warn $!; } ;'
匹配和替换空间> 当前目录中所有文件的下划线
answered 2019-04-24T14:48:01Z
c语言把下划线换成空格,python - 如何用下划线替换空格,反之亦然?相关推荐
- Python语言学习之双下划线那些事:python和双下划线使用方法之详细攻略
Python语言学习之双下划线那些事:python和双下划线使用方法之详细攻略 目录 双下划线介绍 1.关于双下划线的函数或方法或属性 双下划线介绍 1.关于双下划线的函数或方法或属性 __name_ ...
- python变量必须以字母和下划线_【转载】关于python中带下划线的变量和函数的意义...
Python 的代码风格由 PEP 8 描述.这个文档描述了 Python 编程风格的方方面面.在遵守这个文档的条件下,不同程序员编写的 Python 代码可以保持最大程度的相似风格.这样就易于阅读, ...
- Python中单个下划线“ _”变量的用途是什么?
这段代码中_ after for的含义是什么? if tbh.bag:n = 0for _ in tbh.bag.atom_set():n += 1 #1楼 下划线_在Python中被视为" ...
- 【Python特性】Python中的下划线和双下划线是什么意思?
平时写代码经常碰到下划线.双下划线等"奇怪"的写法,今天特意花时间彻底解决这个问题.文章内容主要参考<深入理解Python特性>一书. 文章目录 前置单下划线:_var ...
- Python中的下划线到底什么意思?
1. 概述 在Python经常能见到含下划线(underscore)修饰的的变量和方法(如__name__,_var等),这些下划线的作用称之为名字修饰(name decoration).在Pytho ...
- python中的下划线_讲解
python中,下划线 "_""_"" \_" 不管是单独作为变量名或者作为变量名的前缀或者后缀,是有特殊含义的,下面简要的来总结一下. 1 ...
- Python中的下划线
目录 单个下划线(_) 单下划线前缀的名称 双下划线前缀名称 前后都带双下划线名称 单个下划线 有3种情况 返回交互解释器中最后一次执行语句的结果 >>> _ Traceback ( ...
- Python中单个下划线“_”变量的目的是什么?
在Python中,下划线_被视为" 我不关心 "或" 丢失 "变量 python解释器将最后一个表达式值存储到名为的特殊变量中_. >>> 1 ...
- python 中各种下划线的神操作:_、_xx、xx_、__xx__、_ _xx、_classname_ _xx
文章目录 1.只有一个下划线(_) 2.单个下划线开头的(_xx) 3.单个下划线结尾的(xx_) 4.两个下划线开头和结尾的 "_ _ _xx_ _ _" 5.两个下划线开头的命 ...
最新文章
- centos7安装redmine3.4
- 工业机器人行业研究报告
- UA MATH574 概率论 一个均匀分布的例题2018May/4
- [VS2005]一个简单的CodeSnippet —— 生成类的构造函数。
- OFFICE OUTLOOK 2007 如何设置开机自动启动
- 英媒:中国媒体警告将挤走苹果 苹果股价应声下跌
- 【co】ES6-20/21 iterator与generator
- NoSql理解+传统关系型数据库ACID+Nosql的CAP+BASE的理解
- ubuntu修改主机名
- 大数据相关知识点收集
- mysql期中考试题及答案_MySQL数据库考试试题与答案
- 企业网站DDOS防护解决方案
- 计算机课电脑如何提网速,一个简单的优化网速方法,以提高Windows7系统电脑网速教程...
- 电脑卸载了bandzip,但是在文件的打开方式里面还是有bandzip,注册表里又搜不到相关文件,如何解决?
- 2021-08-04
- HDU2099-整除的尾数
- Zotero快速复制文献
- verdi/debussy的快捷键 以及基本操作
- 天猫四大独门利器,助力品牌引领消费趋势
- 怎样使用word模板?两分钟教你搞定!