如何从字符串中提取电话号码?

时间:2014-07-23 19:55:25

标签: java phone-number libphonenumber

我有包含文字和电话号码的自定义字符串。我怎么能提取这个数字?

示例文字: Lorem ipsum +44 12-45-243 dolor 00(49) 812 234 234

编辑: 电话号码可以是任何给定的格式。

3 个答案:

答案 0 :(得分:2)

以下是关于电话号码正则表达式的一个帖子:

A comprehensive regex for phone number validation

我相信这对你的任务很有帮助。

这是7到10位数最受欢迎的正则表达式之一:

^(?:(?:\+?1\s*(?:[.-]\s*)?)?(?:\(\s*([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\s*\)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\s*(?:[.-]\s*)?)?([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\s*(?:[.-]\s*)?([0-9]{4})(?:\s*(?:#|x\.?|ext\.?|extension)\s*(\d+))?$

编辑:对不起,我打算把它作为评论,但我还没有声誉。

答案 1 :(得分:1)

首先你可以删除所有的空格,破折号......然后只需读取字符串并将附加的数字保存在数组中,然后检查数字是否对您的验证算法有效。这可行,但确定效率不高。

答案 2 :(得分:1)

好的,我找到了解决方案。

我可以使用libphonenumberfindNumbers功能。