如何在字符串中用“/”替换“\ /”的所有实例?

时间:2018-01-15 23:54:22

标签: python regex string python-3.x replace

所以我有一个奇怪的链接,如:

https\/\/blahblah.com\/path\/example

我想要做的是用"\/"替换每个"/"

当我尝试

re.sub("\/", "/", soup)

它不会改变任何东西。感谢任何帮助,谢谢。

4 个答案:

答案 0 :(得分:3)

两件事:

  • 制作正则表达式模式原始字符串,以便Python不执行任何解释并将其传递给\按原样

  • 使用\逃离\/;否则只有/转义/不会改变任何内容,因为/不需要转义任何内容。因此,您要将/替换为re.sub(r"\\/", "/", soup)

所以,请使用:

In [157]: s
Out[157]: 'https\\/\\/blahblah.com\\/path\\/example'

In [158]: re.sub(r"\\/", "/", s)
Out[158]: 'https//blahblah.com/path/example'

In [159]: s = 'https:\/\/dog.ceo\/api\/img\/labrador\/n02099712_7775.jpg'

In [160]: re.sub(r"\\/", "/", s)
Out[160]: 'https://dog.ceo/api/img/labrador/n02099712_7775.jpg'

示例:

{{1}}

答案 1 :(得分:0)

我无法告诉你为什么re.sub对你的情况不起作用,虽然我怀疑" /"的转义字符解释有些问题。

然而,

s = 'https:\/\/blahblah.com\/path\/example'
s.replace('\/','/')

我想你想做什么。

答案 2 :(得分:0)

您可以在字符串上使用split(' \')方法进行拆分,然后将列表元素连接到一个字符串中,以便替换反斜杠

''.join(weird_string.split('\\')

答案 3 :(得分:0)

mystring.replace(“/”,“\ /”)它为我工作