【问题标题】:Replace forward slash with a sequence of back and forward slash用一系列反斜杠和正斜杠替换正斜杠
【发布时间】:2021-05-29 04:53:21
【问题描述】:

我想用“\/”替换一系列正斜杠,例如“//”。 例如:'http://www.test.com/' 应该返回 'http:\/\/www.test.com\/' 我在 python 中尝试了一些命令,例如下面的示例,但还没有成功:

myString.replace(r'/',r'\\/') 返回'http:\\\\/\\\\/www.test.com.br\\\\/'

myString.replace(r'/','\\\/') 也返回 'http:\\\\/\\\\/www.test.com.br\\\\/'

我怎样才能得到我需要的结果?

我正在使用 Python 3.8

【问题讨论】:

  • 为什么你使用原始字符串然后仍然转义反斜杠?此外,您将字符串的 repr(意思是您需要输入的内容以生成该字符串)与字符串实际包含的内容混淆。
  • 这是因为当我在编辑器中看到我的问题将如何呈现给观众时,它显示的斜线比我实际输入的要少,所以我最终添加了更多来纠正这个问题。然而,当我的问题被发布时,我的代码被解释了,额外的斜线实际上是不必要的

标签: python string replace


【解决方案1】:

当您使用原始字符串时,反斜杠不再用作转义字符,并且所有内容都会在您键入时显示在字符串中(但您仍然不能以反斜杠结束字符串)。如果您不使用原始字符串,则只需将其加倍。此外,您看到的结果直接在交互式会话中返回,这意味着您看到了该字符串的 repr - 意思是,它告诉您需要输入什么内容才能生成相同的对象。不要过度使用原始字符串和反斜杠,并使用print

>>> myString = 'http://www.test.com/'
>>> print(mystring.replace('/', r'\/'))
http:\/\/www.test.com\/

【讨论】:

  • 非常感谢您向我解释!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-10
  • 1970-01-01
  • 2022-11-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-17
相关资源
最近更新 更多