我想从用户输入的字符串中删除多个字符

时间:2016-11-13 22:48:32

标签: python string python-3.x strip

我正在尝试询问用户他们的电话号码,很多人输入了他们的号码,例如" 123-456-7890","(123)456-7890"。

我想让程序剥离" () - "从输入中,当我将数字打印回用户时,它显示为1234567980而没有所有额外的字符。

到目前为止,我已经能够通过这样做只删除字符串中的第一个括号:

number = str(input("Enter phone number: "))
print(number.strip('('))

2 个答案:

答案 0 :(得分:2)

字符串是可迭代的,因此可以使用列表解析有效地解决问题。

digits = '0123456789'
phone_number = ''.join([x for x in input("Enter phone number: ") if x in digits])

这种方法的好处是只有数字才能包含在最终结果中。而使用替换方法,您必须指定每个排除。

答案 1 :(得分:0)

可能不是最优雅的方式,但是:

print(number.replace('(', '').replace(')', '').replace('-', ''))