【问题标题】:Remove phone numbers from string in python [closed]从python中的字符串中删除电话号码[关闭]
【发布时间】:2017-06-16 05:11:15
【问题描述】:

我知道有一个类似的问题here 但这实际上删除了所有数字。我只想删除这种格式的数字:

###-###-####
(###) ###-####
1-###-###-####

从字符串的末尾开始。 我可以使用正则表达式,获取字符串的最后 n 个字符,使用“-”作为分隔符进行剥离,等等。但是我错过了更简单的方法吗?

【问题讨论】:

  • 我不明白“获取字符串的最后 n 个字符,使用“-”作为分隔符进行剥离,等等”。你能提供一个简短的程序来做你想要的,即使是不优雅的?

标签: python regex string


【解决方案1】:

要从字符串末尾删除电话号码,使用正则表达式对我来说似乎很容易:

stuff = [
    'My number is 212-555-1212',
    'My number is 212-555-1212, also',
    'What about (212) 555-1212',
    'or even 1-212-555-1212',
]

import re

for line in stuff:
    result = re.sub(r'((1-\d{3}-\d{3}-\d{4})|(\(\d{3}\) \d{3}-\d{4})|(\d{3}-\d{3}-\d{4}))$', '', line);
    print(result)

输出:

$ python x.py
My number is 
My number is 212-555-1212, also
What about 
or even 

请注意,它从字符串末尾删除了每种格式的电话号码,但保留了字符串中间的电话号码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-22
    • 1970-01-01
    • 1970-01-01
    • 2017-06-23
    • 2014-03-26
    • 2014-12-06
    • 2013-06-20
    • 1970-01-01
    相关资源
    最近更新 更多