迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 >

在 C# 中将字符串格式化为电话号码

作者:迹忆客 最近更新:2024/01/16 浏览次数:

本文将向你介绍如何在 C# 中格式化电话号码。我们将深入讨论实现并了解其执行。

首先,我们将导入库 System 以使用 C# 的函数或方法。

我们还需要另一个库 System.Text.RegularExpressions,以使用我们示例中的正则表达式来格式化 C# 中的电话号码。

using System;
using System.Text.RegularExpressions;

现在我们将创建一个名为 PhoneFormatter 的类,在该类中,我们将执行所有操作。

class PhoneFormatter {}

C# 中使用 formatPhNumber() 方法将字符串格式化为电话号码

我们将使用 public 访问修饰符为数据类型字符串创建一个名为 formatPhNumber() 的方法,并在预定义的 PhoneFormatter 类中传递数据类型字符串的两个参数,分别名为 phoneNumphoneFormat 类。

class PhoneFormatter {
  public static string formatPhNumber(string phoneNum, string phoneFormat) {}
}

完成这些步骤后,将应用检查 phoneFormat 是否为空,我们将在接下来的步骤中调用此方法。它将分配此变量,在这种情况下,默认电话号码格式为 (##) ###-####

if (phoneFormat == "") {
  phoneFormat = "(##) ###-####";
}

我们将使用 Regex 类创建一个 regex 变量,并将一个值传递给它的构造函数。这两行代码排除了 Regex's 值中的任何其他内容。

除数字外,任何字母或特殊字符都无法格式化电话号码。

Regex regex = new Regex(@"[^\d]");

然后我们使用 Regex 库中名为 Replace() 的另一个函数为变量 phoneNum 分配一个新值。

这将使用之前定义的正则表达式格式并将其替换为我们将提供的电话号码。

phoneNum = regex.Replace(phoneNum, "");

在这里,我们使用条件来查看变量 phoneNum 是否有值,表示 phoneNum 的长度大于 0

如果是这样,电话号码将被转换为 64 位整数格式,电话格式为字符串值,然后将其分配给变量 phoneNum

我们将在函数 formatPhNumber() 结束时返回 phoneNum

if (phoneNum.Length > 0) {
  phoneNum = Convert.ToInt64(phoneNum).ToString(phoneFormat);
}
return phoneNum;

这是里面的主要方法,我们将调用之前创建的方法来格式化电话号码。

static void Main() {}

Main() 方法中,我们将初始化一个 string 变量,称为 phNumber。电话号码将被保存,以便将其作为参数传递给该方法。

string phNumber = "123456789";

最后,在 print 语句中,我们将调用 formatPhNumber() 方法,该方法需要两个参数,分别是 phoneNumphoneFormat

因此,我们将使用 phNumber 分配电话号码并使用空字符串分配电话格式。

正如我们之前讨论过的,将空值传递给电话格式将自动分配之前初始化的默认值,它不会抛出任何异常。

Console.WriteLine(formatPhNumber(phNumber, ""));

C# 中格式化电话号码的完整源代码

using System;
using System.Text.RegularExpressions;
class PhoneFormatter {
  public static string formatPhNumber(string phoneNum, string phoneFormat) {
    if (phoneFormat == "") {
      phoneFormat = "(##) ###-####";
    }
    Regex regex = new Regex(@"[^\d]");
    phoneNum = regex.Replace(phoneNum, "");
    if (phoneNum.Length > 0) {
      phoneNum = Convert.ToInt64(phoneNum).ToString(phoneFormat);
    }
    return phoneNum;
  }
  static void Main() {
    string phNumber = "123456789";
    Console.WriteLine(formatPhNumber(phNumber, ""));
  }
}

输出:

(12) 345-6789

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 C# 中将 Long 转换为整数

发布时间:2024/01/03 浏览次数:69 分类:编程语言

有两种主要方法可用于将长变量转换为 C# 中的整数变量,即类型转换方法和 Convert.ToInt32()函数。

在 C# 中将 Int 转换为十六进制

发布时间:2024/01/03 浏览次数:163 分类:编程语言

ToString()函数可用于将整数值转换为十六进制字符串,而 Convert.ToInt32()函数可用于将十六进制字符串转换为 C# 中的整数值。

在 C# 中读取 JSON 文件

发布时间:2024/01/03 浏览次数:148 分类:编程语言

Json.net 命名空间内的 JsonConvert 类可用于在 C# 中对 JSON 文件执行读取和写入操作。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便