【问题标题】:How to remove word along with = in a string (python)?如何在字符串(python)中与=一起删除单词?
【发布时间】:2025-12-26 03:50:10
【问题描述】:

我有一个像 str ="out = sings<=20,gef=='one'" 这样的字符串。现在我想删除第一个输出和 =,但不删除

我的代码:

st ="out = sings<=20,gef=='one'"
st1=st.replace('out', "")
print(st1)
st2 = st1.replace('=', "")
print(st2)

这给了,

st1: = sings<=20,gef=='one'
st2 :sings<20,gef'one'

预期输出:

st1: = sings<=20,gef=='one'
st2 : sings<=20,gef=='one'

【问题讨论】:

  • 使用正则表达式替换=
  • 也替换可以搜索一个短语,所以你可以st.replace("out =", "")

标签: python string replace


【解决方案1】:

替换时添加空格

st ="out = sings<=20,gef=='one'"
st1=st.replace('out', "")
print(st1)
st2 = st1.replace(' = ', "")
print(st2)

输出

 = sings<=20,gef=='one'
sings<=20,gef=='one'

【讨论】:

    【解决方案2】:

    您可以从字符串的开头匹配第一个单词字符,后跟一个等号,在 1 个或多个空白字符之间。

    在替换中使用空字符串。

    import re
    
    st ="out = sings<=20,gef=='one'"
    result = re.sub(r"^\w+\s+=\s+", "", st)
    print (result)
    

    输出

    sings<=20,gef=='one'
    

    【讨论】:

      【解决方案3】:

      您可以使用 replace 的 count 参数指定要进行的替换次数。

      st ="out = sings<=20,gef=='one'"
      st1=st.replace('out', "")
      print(st1)
      st2 = st1.replace('=', "", 1)
      print(st2)
      

      【讨论】: