我正在尝试询问用户他们的电话号码,很多人输入了他们的号码,例如" 123-456-7890","(123)456-7890"。
我想让程序剥离" () - "从输入中,当我将数字打印回用户时,它显示为1234567980而没有所有额外的字符。
到目前为止,我已经能够通过这样做只删除字符串中的第一个括号:
number = str(input("Enter phone number: "))
print(number.strip('('))
答案 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('-', ''))