【问题标题】:How do I remove certain character in a string?如何删除字符串中的某些字符?
【发布时间】:2014-12-16 17:40:42
【问题描述】:

有没有办法做到这一点?这是我写的代码。另外,我正在使用最新的 Python 版本:

import string

Finn = "It's Adventure Time!"
punctuation = string.punctuation
print(punctuation)
for punc in punctuation:
   if punc in Finn:
       Finn[18] = ' '
print(Finn)

我得到的错误是:

TypeError: 'str' object does not support item assignment

【问题讨论】:

    标签: string python-3.x replace


    【解决方案1】:

    我希望你期待这个:

    import string
    
    Finn = "It's Adventure Time!"
    punctuation = string.punctuation
    print(punctuation)
    for punc in punctuation:
       if punc in Finn:
           Finn = Finn.replace(punc, "")
    
    print(Finn)
    

    【讨论】:

    • if punc in Finn 不应该是必需的:)
    • @DaveJ,是的.. 你是对的.. 我尽量保持他的代码不变
    【解决方案2】:

    最短的一个,我能想到的:P

    import string
    finn = "It's Adventure Time!"
    finn = ''.join(i for i in finn if i not in string.punctuation)
    

    【讨论】:

      【解决方案3】:

      一个很短的变体是:

      import string
      
      finn = "It's Adventure Time!"
      print(finn)
      table = str.maketrans("","",string.punctuation)
      finn = finn.translate(table)
      print(finn)
      

      此解决方案需要 python 3。(如 OP 中标记的那样)

      【讨论】:

      • 它给出一个错误“AttributeError: type object 'str' has no attribute 'maketrans'”
      • @AerofoilKite:你在使用 python3 吗?它对我有用。
      • 哦!我正在使用 python 2.7;在这种情况下,您可能应该提及版本。谢谢
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-23
      • 2023-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-30
      相关资源
      最近更新 更多