从文本中提取电话号码
本文关键字:电话号码 提取 文本 | 更新日期: 2023-09-27 18:28:08
我想构建一个方法,它将获得一个字符串(最好是文本块的文本),并识别和突出显示字符串中的任何电话号码。目标是使用户能够点击任何号码并直接拨打或发短信(通过使用适当的启动器)。
我该怎么办?有什么想法吗?提前谢谢!
您可以使用正则表达式来执行此操作。
示例:-
var s= new Regex(@"('(?[0-9]{3}')?)?'-?[0-9]{3}'-?[0-9]{4}",
RegexOptions.IgnoreCase); //North American number
var text = "Some Texxt";
MatchCollection m= s.Matches(text);
String s = "abc055667788abc";
string phoneNumber;
foreach(char c in s)
{
if(Char.isNumber(c) || c == " " || c == "+")
{
phoneNumber = phoneNumber + c;
minimumDigits++;
if(minimumDigits >= 9)
{
NumberDetected(phoneNumber);
}
}
else
{
minimumDigits = 0;
}
}
NumberDetected(string rawNumber)
{
int plusses = 0;
foreach(char c in rawNumber)
{
if(c == "+")
{
plusses++;
}
}
if(plusses <= 1)
{
if(rawNumber.StartsWith("+")
{
NumberDone(rawNumber);
}
}
else
{
MessageBox.Show("Number contained too many plusses!");
}
}