gpt4 book ai didi

java - 从文本文件中检索电话号码,无论格式如何

转载 作者:行者123 更新时间:2023-11-30 06:54:01 26 4
gpt4 key购买 nike

我想从文本文件中检索电话号码。我正在尝试使用 third party python version of google's phone number library 。但它无法检索 ex 之间有空格的数字。 - “+91 – 9871127622”。

有什么办法可以解决吗?

如果没有,我想安装Google's original library of phone numbers但我不知道如何安装并将其包含在我的代码中(未提供说明)

我的python代码如下:

#!usr/bin/env python
import phonenumbers
import os
import re
import sys

file_name = sys.argv[1]
fp =open(file_name,"r")

for line in fp:
for match in phonenumbers.PhoneNumberMatcher(line,None):
print match

最佳答案

您可以使用正则表达式快速清除输入中不需要的字符。

我的正则表达式是这样的:[^\\d]。它匹配输入中的任何非数字。我将每个匹配的字符替换为空字符串。所以,我们最后只剩下数字了。

这里有一些可以帮助您入门的内容:

public class CleanPhoneNumber {

public static void main(String[] args) {
String inputPhoneNumber = "+91 – 9871127622";
String validPhoneNumber = cleanup(inputPhoneNumber);
System.out.println(validPhoneNumber );
}

public static String cleanup(String inputPhoneNumber) {
return inputPhoneNumber.replaceAll("[^\\d]", "");
}

}

您可以进一步改进正则表达式。

PS:我不喜欢 Python,但你也可以使用类似的方法。

Update, based on Ole V.V.'s comment:

public static String cleanup(String inputPhoneNumber) {
String cleanedUp = inputPhoneNumber.replaceAll("[^\\d]", "");
if(inputPhoneNumber.startsWith("+")){
return "+" + cleanedUp;
}
return cleanedUp;
}
<小时/>

希望这有帮助!

关于java - 从文本文件中检索电话号码,无论格式如何,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42176313/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com