【问题标题】:Use Python to replace forward slashes in string to backslashes使用 Python 将字符串中的正斜杠替换为反斜杠
【发布时间】:2019-12-02 16:01:28
【问题描述】:

使用 Python 3.7,我有一个字符串 s 定义为 s = '//10.0.0.3/research'。 我需要 s 上的一些运算符来生成 '\\\10.0.0.3\research' 作为输出。

我了解反斜杠是转义字符,但我一生都无法弄清楚正确的 s.replace() 语句会是什么样子来产生我想要的(我需要反斜杠,因为这是 DOS 的“网络使用”命令需要在将 UNC 路径分配给驱动器号时查看)。想法?

【问题讨论】:

  • 使用反斜杠转义反斜杠。 s.replace("/", "\\")
  • 如果我在字符串 s='//10.0.0.3/research' 上发出语句 s=s.replace("/","\\"),结果是 ''\\\ \10.0.0.3\\research'('10.0.0.3' 前面有 4 个反斜杠,'research' 前面有两个反斜杠。
  • 试试print(s)。 Python 显示反斜杠已转义,以便您可以复制粘贴 representation 并使其仍然有效。
  • 在stackoverflow上写代码时也使用反引号`,这样更容易阅读和复制粘贴。

标签: python backslash


【解决方案1】:

两个反斜杠表示文字反斜杠:

s.replace("/", "\\")

【讨论】:

  • 这个的输出是`\\\\10.0.0.3\\research'!!
  • @Mohammed 错了。在 python 解释器中运行 print("//10.0.0.3/research".replace("/", "\\"))(我在 repl.it/languages/python3 上运行它,它工作得非常好)。
  • @MaxiMouse 那么为什么它在我的 python3.7.3 中显示为 `\\\\10.0.0.3\\research' !!!!,她/他在问题下方的评论中报告了相同的情况.
  • @Mohammed '\\\\10.0.0.3\\research' 是字符串的表示。实际的字符串是\\10.0.0.3\research。要查看它,请使用print 函数。
  • 感谢@MaxMouse。优秀的 cmets 也是如此。
【解决方案2】:

不要忘记将其分配回s

s = '//10.0.0.3/research'

s = '\\' + s.replace("/", "\\")
print(s)

输出:

\\10.0.0.3\research

【讨论】:

  • 这给了我'\\\\\\10.0.0.3\\research'。
猜你喜欢
  • 1970-01-01
  • 2018-02-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-28
  • 1970-01-01
相关资源
最近更新 更多