【问题标题】:str.replace command not working in pythonstr.replace 命令在 python 中不起作用
【发布时间】:2018-09-11 08:44:27
【问题描述】:

我的文件下面有一行:

line = 'abc01abc'

我尝试将这一行中的01 替换为1

line = str.replace(line , '01' , '1')

但它没有取代。

请帮忙

【问题讨论】:

  • 当我复制并粘贴这两行代码,然后是print(line),我得到abc1abc。这不符合您的预期吗?
  • 更一般地说,minimal reproducible example 的一部分包括您期望的输出、您看到它所做的事情以及得到的结果。
  • 顺便说一句,虽然调用方法这是正确,但它很奇怪且不习惯。通常的方法是在实例上调用它们,而不是类型:line = line.replace('01', '1')。但这完全一样,所以它不会解决你的问题。

标签: python replace


【解决方案1】:

两者:

>>> line = 'abc01abc'
>>> line = line.replace('01' , '1')
>>> line
'abc1abc'
>>> line = 'abc01abc'
>>> line = str.replace(line, '01' , '1')
>>> line
'abc1abc'

努力使您的问题不存在于您显示的任何代码中。

【讨论】:

    【解决方案2】:

    这是一个假设。您可能在程序中这一行之前的某处为str 分配了一些东西。如果是这样,您可以删除 str 以使用内置的 str 功能。

    试试:

    str ="something"
    line = "abc01abc"
    del str
    line = str.replace(line , '01' , '1')
    print(line)
    # abc1abc
    

    【讨论】:

    • 我这样分配 old = "01" new = "1" line = str.replace (line , "old" , "new")
    • @Chinnu 删除括号内的所有引号 " 并尝试
    猜你喜欢
    • 2019-08-24
    • 2018-01-25
    • 2018-11-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-05
    • 1970-01-01
    • 2018-09-01
    • 2018-09-14
    相关资源
    最近更新 更多