【问题标题】:How to remove letters from a string of alphabets如何从一串字母中删除字母
【发布时间】:2020-01-12 07:39:15
【问题描述】:
def remove_keyword(modified_keyword):
  global plain_alpha
  for i in modified_keyword:
      if i in plain_alpha:
        plain_alpha.replace(i, "")
        print(plain_alpha)


  return plain_alpha

print(remove_keyword(keyword))

---------------------------------------------- --

所以请求是: 该方法返回修改后的字符串。 在这个例子中,“斑马”中的所有字符都从纯字母表中删除 “abcdefghijklmnopqrstuvwxyz”生成“cdfghijklmnopqtuvwxy”。

【问题讨论】:

  • 什么不起作用?

标签: python python-3.x string replace


【解决方案1】:

字符串方法不会就地修改字符串,因为字符串是不可变的。这意味着调用replace 不会以任何方式修改plain_alpha;而是返回一个新字符串。改变

plain_alpha.replace(i, "")

plain_alpha = plain_alpha.replace(i, "")

我只专注于让代码工作。请随时编辑/评论改进,例如不使用全局变量。

【讨论】:

    【解决方案2】:

    你可以试试这个来得到想要的输出。

    >>>a='zebra'
    >>>b='abcdefghijklmnopqrstuvwxyz'
    >>> for i in a:
            b=b.replace(i,'')
    >>> b
    'cdfghijklmnopqtuvwxy'
    

    【讨论】:

      【解决方案3】:

      改变它,它应该可以工作

      plain_alpha = plain_alpha.replace(i, "")
      

      【讨论】:

        【解决方案4】:
        1. 检查字符串中是否有字母是多余的。
        2. python中的字符串是不可变的,所以replace不会改变字符串内容,而是返回一个新的字符串。

          def remove_keyword(modified_keyword):
          global plain_alpha
          for i in modified_keyword:
              plain_alpha = plain_alpha.replace(i, "")
          return plain_alpha
          
          print(remove_keyword(keyword))
          

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2020-03-20
          • 2022-01-09
          • 2020-12-12
          • 1970-01-01
          • 2019-11-22
          • 1970-01-01
          • 2017-03-11
          相关资源
          最近更新 更多