C# 将电话号码解析为其部件
我知道Google libphonenumber解析库的C#端口: 我需要的是把一个电话号码串分解成相应的部分,国家代码、区号、前缀、号码和分机 这个图书馆可以用来做这个吗?如果是这样,有人能用C语言发布一个简单的测试来做到这一点吗?我在文档中看不到怎么做C# 将电话号码解析为其部件,c#,.net,formatting,C#,.net,Formatting,我知道Google libphonenumber解析库的C#端口: 我需要的是把一个电话号码串分解成相应的部分,国家代码、区号、前缀、号码和分机 这个图书馆可以用来做这个吗?如果是这样,有人能用C语言发布一个简单的测试来做到这一点吗?我在文档中看不到怎么做 顺便说一句,它们可以是国内的,也可以是国际的。libphonenumber库将解析一个数字,并验证它是否匹配国内和国际数字的已知模式。它会告诉你任何给定号码的国家代码和正确的国内或国际拨号模式 它不会将其分解为除此之外的组成部分。无区号、前
顺便说一句,它们可以是国内的,也可以是国际的。libphonenumber库将解析一个数字,并验证它是否匹配国内和国际数字的已知模式。它会告诉你任何给定号码的国家代码和正确的国内或国际拨号模式 它不会将其分解为除此之外的组成部分。无区号、前缀、号码、分机解析
它是开源的,因此如果您需要这样做,它可能是一个很好的起点,但我相信这将是一项巨大的事业。Patrick Mezard已将该库移植到C#: 有关用法,您可以查看官方网站: Java代码可以直接翻译成C#。例如: 爪哇 C# 祝你好运 更新: 更多示例:
如果你看不到你需要什么,那么我想你可以自己实现它。那么,你知道有一个库可以做到这一点吗?你看过2008年的CodeProject上的库吗?我也不确定它是否会这样做@MB34,很好的库,但它将数字分成了几个部分,它没有标记零件的国家代码、前缀、区号等。库所做的一件非常巧妙的事情是正确处理字母,比如
1-800-MY-PHONE
。我看不出解析零件的方法。如果我输入国家代码“CH”,为什么我需要使用swissNumberProto.CountryCode获取信息?
String swissNumberStr = "044 668 18 00"
PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance();
try {
PhoneNumber swissNumberProto = phoneUtil.parse(swissNumberStr, "CH");
} catch (NumberParseException e) {
System.err.println("NumberParseException was thrown: " + e.toString());
}
String swissNumberStr = "044 668 18 00";
PhoneNumberUtil phoneUtil = PhoneNumberUtil.GetInstance();
try
{
PhoneNumber swissNumberProto = phoneUtil.Parse(swissNumberStr, "CH");
Console.WriteLine(swissNumberProto.CountryCode);
}
catch (NumberParseException e)
{
Console.WriteLine("NumberParseException was thrown: " + e.ToString());
}