【问题标题】:Python string replace containing "\"Python字符串替换包含“\”
【发布时间】:2021-06-08 01:26:44
【问题描述】:

我想使用 python 将字符串 temp.filename.txt 转换为 temp\.filename\.txt

尝试了字符串替换方法,但输出不符合预期

filename = "temp.filename.txt"
filename.replace(".", "\.")
output: 'temp\\.filename\\.txt'

【问题讨论】:

  • 我认为replace 不会修改您调用它的字符串。你的意思是filename=filename.replace(".", "\.")
  • 在字符串参数“\\.”中方法 ”\。”, ”'\\\。”表示“\\.”等等。你不必担心你的输出是错误的方向。
  • 这首先起作用的唯一原因是因为\. 未被识别为特殊的转义序列。在字符串中使用 \\ 时,您应该始终加倍:filename.replace(".", "\\.").
  • 或使用 r"" 字符串,但即使这些也可以欺骗你,例如如果你的字符串以 \ 结尾,你仍然需要将最后一个 \... 加倍

标签: python string replace


【解决方案1】:

\ 是一个特殊字符,表示\\,这并不意味着您的字符串实际上包含 2 个\ 字符。

(正如@saipy 所建议的,如果您打印您的字符串,则应该只显示单个\...)

【讨论】:

    【解决方案2】:
    filename = "temp.filename.txt"
    result=filename.replace(".", "\.")
    print(result)
    

    I stored a result in variable(result) its working fine check this

    【讨论】:

    • @Julien,你可以点击图片链接
    • @Julien 的回答是正确的。这就是你看到字符串的方式。其实我做的是对的。
    猜你喜欢
    • 1970-01-01
    • 2017-11-19
    • 2011-03-10
    • 2019-05-25
    • 1970-01-01
    • 1970-01-01
    • 2022-01-22
    • 2021-11-09
    相关资源
    最近更新 更多