Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将电话号码解析为其部件_C#_.net_Formatting - Fatal编程技术网

C# 将电话号码解析为其部件

C# 将电话号码解析为其部件,c#,.net,formatting,C#,.net,Formatting,我知道Google libphonenumber解析库的C#端口: 我需要的是把一个电话号码串分解成相应的部分,国家代码、区号、前缀、号码和分机 这个图书馆可以用来做这个吗?如果是这样,有人能用C语言发布一个简单的测试来做到这一点吗?我在文档中看不到怎么做 顺便说一句,它们可以是国内的,也可以是国际的。libphonenumber库将解析一个数字,并验证它是否匹配国内和国际数字的已知模式。它会告诉你任何给定号码的国家代码和正确的国内或国际拨号模式 它不会将其分解为除此之外的组成部分。无区号、前

我知道Google libphonenumber解析库的C#端口:

我需要的是把一个电话号码串分解成相应的部分,国家代码、区号、前缀、号码和分机

这个图书馆可以用来做这个吗?如果是这样,有人能用C语言发布一个简单的测试来做到这一点吗?我在文档中看不到怎么做


顺便说一句,它们可以是国内的,也可以是国际的。

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());
}