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

Java 如何从字符串中提取电话号码?,java,phone-number,libphonenumber,Java,Phone Number,Libphonenumber,我有包含文本和电话号码的自定义字符串。如何提取这个数字 示例文本: Lorem ipsum+44 12-45-243多洛00(49)812 234 234 编辑: 电话号码可以是任何给定的格式。这里有一个关于电话号码上正则表达式的线程: 我相信这将有助于你完成任务 以下是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

我有包含文本和电话号码的自定义字符串。如何提取这个数字

示例文本:
Lorem ipsum+44 12-45-243多洛00(49)812 234 234

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

这里有一个关于电话号码上正则表达式的线程:

我相信这将有助于你完成任务

以下是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+))?$

编辑:对不起,我本想发表评论的,但我还没有这个名声

首先,您可以删除所有空格、破折号和。。。然后只需读取字符串并将附加的数字保留在一个数组中,然后检查该数字是否与验证算法一致。这会起作用,但肯定不是很有效。

好的,我找到了一个解决方案


我可以使用和功能+符号?你的有效电话号码的格式是什么?@pixel你的电话号码中的位数总是固定的?如果是的话,那是小菜一碟。你应该从链接答案中摘录相关部分,因为只链接的答案是不受欢迎的。谢谢你的提醒。我不知道。提取量会很大,但我会看看我是否能得到最重要的部分。我如何做才能从字符串中提取电话号码,无论电话号码在哪里?这可能是因为OP无法定义他需要什么。让我想起一句著名的名言,如果一个人不知道自己要驶往哪个港口,那么没有风是有利的——卢修斯·安纳乌斯Seneca@user3437460我想查找可能出现在文本流中的世界所有国家/地区的电话号码。@您可以找到国家/地区代码。你可以检查你检索到的号码是否符合这些代码,也可以检查号码长度,但我认为没有国家代码检查算法,因为每个国家的代码都会随着时间的推移而变化,所以这就是你所拥有的一切,尽管你的代码有一个类似于调用的验证。你知道如何使用它吗?我在挣扎,不能understand@anshaj你的具体问题是什么?我有一个输入文本文件,需要从中提取所有可能的电话号码。电话号码可以是任何类型或格式。