gpt4 book ai didi

python - 在字符串上使用 .translate() 去除数字 [Python 3]

转载 作者:行者123 更新时间:2023-11-28 18:35:53 25 4
gpt4 key购买 nike

假设我有字符串“2okjser823ab”。如何使用 .translate() 从字符串中删除所有数字?

我看到在 Python 2.x 中您可以执行类似 .translate(None, '0123456789') 的操作,但如果我在 Python 3 中尝试这样做,它会告诉我该方法只接受一个参数。

最佳答案

在 Python 3 中看起来有点难;不知道为什么。

以下是您可以执行的操作:

>>> import string
>>> translation = str.maketrans(string.ascii_letters, string.ascii_letters, string.digits)
>>> "2okjser823ab".translate(translation)
'okjserab'

您可能需要使用您期望的任何其他输入来扩展 string.ascii_letters(例如,string.ascii_letters + string.punctuation + string.whitespace)。

编辑:我无法在str.maketrans 的文档中清楚地找到它,但是如果您对前两个参数使用空字符串,所有内容都将映射为 1 到 1,但是删除部分(第三个参数)仍然发生:

>>> translation = str.maketrans("", "", string.digits)
>>> "2eeŷýéeokjser823 ab.;\t".translate(translation)
'eeŷýéeokjser ab.;\t'

关于python - 在字符串上使用 .translate() 去除数字 [Python 3],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32538305/

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