【问题标题】:Removing an element from a string从字符串中删除元素
【发布时间】:2022-01-11 23:51:27
【问题描述】:

我有一个关于字符串的具体问题。我有一个带有美元符号的字符串,有时还有一个逗号。基本上我用硒刮了一个数字,它可以有两种形式:

  1. $257,873(带逗号)

  2. $257(不带逗号)

如果只有一个逗号,我怎样才能删除?

这是我尝试过的:

mc1 = (mc_txt.text).replace("$", "")

str = ""
for i in range(len(mc1)):
    if mc1[i] !=  ",":
        str = str + mc1[i]

mc = int(str)
print(mc)

【问题讨论】:

  • 添加语言标签并解释为什么你的代码不合适。您可以使用一次replace。为什么不再来一次?

标签: python string


【解决方案1】:

语句(mc_txt.text).replace("$", "") 返回一个不带任何美元符号的字符串。您可以使用相同的技巧来删除逗号。实际上,由于您只是想删除最左边的美元符号,因此更好的选择可能是

mc = int(mc_txt.text.lstrip('$').replace(',', ''))

这里有几个使用 REPL 的例子:

>>> '$123'.lstrip('$').replace(',', '')
'123'
>>> '$123,000'.lstrip('$').replace(',', '')
'123000'
>>> '123,000'.lstrip('$').replace(',', '')
'123000'
>>> '123'.lstrip('$').replace(',', '')
'123'

【讨论】:

  • 但这并不能解决我的问题。因为有时有逗号,有时没有。如果没有逗号,我会得到一个错误。
  • @LaForge1071。不,你不会。见更新。我直接从 REPL 复制粘贴
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-06-23
  • 1970-01-01
  • 1970-01-01
  • 2022-08-16
  • 2020-08-29
  • 2011-12-02
  • 1970-01-01
相关资源
最近更新 更多