所以我有一个奇怪的链接,如:
https\/\/blahblah.com\/path\/example
我想要做的是用"\/"
替换每个"/"
。
当我尝试
时re.sub("\/", "/", soup)
它不会改变任何东西。感谢任何帮助,谢谢。
答案 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(“/”,“\ /”)它为我工作