繁体   English   中英

查找字符串和格式的电话号码

[英]Find phone number in a string and format

我的字符串中包含未格式化的电话号码,有什么办法可以找到它们并格式化号码并保存?

我有示例字符串

Name: Tippu     
Phone: 408.273.3939
Email: tippu@tippu.com

另一个样品

Contact Tippu at (408) 363 2323     

在这些示例中,我需要找到电话号码并将其更改为NNN-NNN-NNNN格式。 数据在SQL Server中,我正在使用c#。

谢谢

您可以使用以下伪代码。

string.Replace(/\(?(\d{3})[)(-.\s]*(\d{3})[)-.\s]*(\d{4})/, "$1-$2-$3")

它将替换NNN-NNN-NNNN格式的两个示例。

让我为您解释一下正则表达式。
\\(?开头看起来字符串是否以方括号开头
(\\d{3})查找三个数字,并组成一个捕获组。 [)(-.\\s]*寻找) ( - .和一个space*确保照顾到方括号后跟一个空格的情况。
\\d{4}查找4位数字。
$1 $2$3是捕获组。 您可以根据自己的语言使用它们。

我相信,您可能可以在C#中使用Regex.Replace()函数

可能不是最好的……但这就像是我一样。 这可能至少有帮助。 首先,我假设您字符串中的最后一个数字代表电话号码:

x = <your string>.replace(/[^0-9]/g,'');
x = x.substring(x.length-10);
x = x.substring(0,3) +'-'+ x.substring(3,6) + '-' + x.substring(6);

假设您的电话号码采用的格式为“ 408.273.3939”,那么这对您会有所帮助

 var stringText = "408.273.3939";
            var phoneArr = stringText.Split('.');
            String.Format("%s-%s-%s", phoneArr[0], phoneArr[1], phoneArr[2]);

而且您的问题对我也不清楚。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM