gpt4 book ai didi

python - 不使用正则表达式删除字符串中的标点符号和空格

转载 作者:行者123 更新时间:2023-12-01 01:30:35 29 4
gpt4 key购买 nike

我使用了 import stringstring.punctuation 但我意识到在执行 string.split( 后我仍然有 '...' )。我还得到了 '',我不知道为什么在执行 strip() 后会得到它。据我了解, strip() 删除了外围空格,因此如果字符串之间有空格,则没关系:

>>> s = 'a dog    barks    meow!   @  … '
>>> s.strip()
'a dog barks meow! @ …'


>>> import string
>>> k = []
>>> for item in s.split():
... k.append(item.strip(string.punctuation))
...
>>> k
['a', 'dog', 'barks', 'meow', '', '…']

我想去掉 '', '...',我想要的最终输出是 ['a', 'dog', 'barks', 'meow ']

我想避免使用正则表达式,但如果这是唯一的解决方案,我会考虑它..现在我更感兴趣的是在不诉诸正则表达式的情况下解决这个问题。

最佳答案

您可以通过仅保留字母数字字符和空格来删除标点符号:

s = 'a dog    barks    meow!   @  …'
print(''.join(c for c in s if c.isalnum() or c.isspace()).split())

输出:

['a', 'dog', 'barks', 'meow']

关于python - 不使用正则表达式删除字符串中的标点符号和空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52913849/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com