【问题标题】: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】:
- 检查字符串中是否有字母是多余的。
-
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))