我希望删除字符串中的每个数字。更具体地说,我希望删除以下代码字符串中的所有数字
Comp_String =“xxf1,aff242342”
怎么能做到这一点。 (显然在代码中)。我找到了许多关于删除代码的实际部分的问题的答案,这些部分是字母而不是数字。请解释一下您的代码实际上在做什么
答案 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))