HOWTO · Csharp

文字列を C# の電話番号としてフォーマットする

この記事では、C# で文字列を電話番号としてフォーマットする方法について説明します。

この記事では、C# で電話番号をフォーマットする方法を紹介します。実装について深く議論し、その実行を理解します。

まず、ライブラリシステムをインポートして、C# の関数またはメソッドを使用します。

また、この例の正規表現を使用して電話番号を C# でフォーマットするには、別のライブラリ System.Text.RegularExpressions が必要です。

using System;
using System.Text.RegularExpressions;

次に、PhoneFormatter という名前のクラスを作成し、クラス内ですべての操作を実行します。

class PhoneFormatter {}

formatPhNumber() メソッドを使用して、C# の電話番号として文字列をフォーマットする

public アクセス修飾子を使用してデータ型文字列の formatPhNumber() という名前のメソッドを作成し、事前定義された内部にそれぞれ phoneNumphoneFormat という名前のデータ型文字列の 2つの引数を渡しますクラス PhoneFormatter

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

これらの手順を完了すると、phoneFormat が空に渡された場合にチェックが適用されます。これから、次の手順でこのメソッドを呼び出します。この変数、この場合は (##) ###-#### であるデフォルトの電話番号形式が割り当てられます。

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

Regex クラスを使用して regex 変数を作成し、そのコンストラクターに値を渡します。これらの 2 行のコードは、正規表現値の他のすべてを除外します。

数字を除いて、アルファベットや特殊文字が電話番号をフォーマットする機会はありません。

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

次に、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() メソッド内で、phNumber と呼ばれる string 変数を初期化します。電話番号は、メソッドへのパラメーターとして転送するために保存されます。

string phNumber = "123456789";

最後に、print ステートメント内で、formatPhNumber() メソッドを呼び出します。このメソッドには、それぞれ phoneNumphoneFormat の 2つのパラメーターが必要です。

したがって、電話番号には 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