【问题标题】:Using str.replace method changes nothing in the original string使用 str.replace 方法不会改变原始字符串
【发布时间】:2017-05-11 13:26:04
【问题描述】:

我需要比较路径。 在纺织品中,我得到如下路径:

'C:\\\\Windows\\\\System32\\\\kernel32.dll'

我从命令行获得的另一条路径。

比较我尝试的两个字符串:

while path.find('\\') != -1:
    path.replace('\\\\','\\', 1)

但这并没有改变。 此外,内置函数 os.path.normpath()os.path.realpath() 不会删除反斜杠。 如何去除字符串中的反斜杠?

【问题讨论】:

标签: python


【解决方案1】:

试试:

path = path.replace('\\\\','\\', 1)

【讨论】:

    【解决方案2】:

    在 C# 中,您需要从替换中分配返回值。类似的东西:

    path = path.replace('\\\\','\\', 1)
    

    但我认为你使用的是Java,我不知道是否相同,但尝试一下

    【讨论】:

    • 这是python,看标签。 Als while ... : 显然是 python。
    【解决方案3】:

    这会返回一个反斜杠,并且可以与 os.getcwd() 的输出进行比较

    path = path.replace('\\\\', '\\')
    

    【讨论】:

      【解决方案4】:

      要将 2 \ 替换为一个 \ ,您可以这样做:

      value = "C:\\\\Windows\\\\System32\\\\kernel32.dll"
      print value.replace("\\\\", "\\")
      

      给我:

      C:\Windows\System32\kernel32.dll
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-06-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多