删除字符串中的所有数字字符,python

时间:2017-03-26 01:00:32

标签: python extract

我希望删除字符串中的每个数字。更具体地说,我希望删除以下代码字符串中的所有数字

Comp_String =“xxf1,aff242342”

怎么能做到这一点。 (显然在代码中)。我找到了许多关于删除代码的实际部分的问题的答案,这些部分是字母而不是数字。请解释一下您的代码实际上在做什么

3 个答案:

答案 0 :(得分:2)

你可以在这里找到答案 Removing numbers from string

从这个回答:

comp_string = "xxf1,aff242342"
new_string = ''.join([i for i in comp_string if not i.isdigit()])

它使用列表中的.join创建一个新字符串。该列表使用列表推导创建,该列表推导迭代原始字符串中的字符,并排除所有数字。

答案 1 :(得分:1)

这将删除所有不是字母的字符,通过遍历每个字符,只有它是一个字母才将其添加到输出中:

output_string = ""

for char in Comp_String:
    if char.isalpha():
        output_string = output_string + char

这将删除任何字符数字,通过遍历每个字符,如果它不是数字,只将其添加到输出中:

output_string = ""

for char in Comp_String:
    if not char.isdigit():
        output_string = output_string + char

答案 2 :(得分:0)

您可以使用https://docs.python.org/3.6/library/re.html模块使用正则表达式执行此操作。你需要的唯一正则表达式是 \ d ,它表示数字。

from re import sub

comp_string = "xxf1,aff242342"
print(sub(pattern=r"\d", repl=r"", string=comp_string))