文字列を C# の電話番号としてフォーマットする
この記事では、C# で電話番号をフォーマットする方法を紹介します。実装について深く議論し、その実行を理解します。
まず、ライブラリシステム
をインポートして、C# の関数またはメソッドを使用します。
また、この例の正規表現を使用して電話番号を C# でフォーマットするには、別のライブラリ System.Text.RegularExpressions
が必要です。
using System;
using System.Text.RegularExpressions;
次に、PhoneFormatter
という名前のクラスを作成し、クラス内ですべての操作を実行します。
class PhoneFormatter {}
formatPhNumber()
メソッドを使用して、C#
の電話番号として文字列をフォーマットする
public
アクセス修飾子を使用してデータ型文字列の formatPhNumber()
という名前のメソッドを作成し、事前定義された内部にそれぞれ phoneNum
と phoneFormat
という名前のデータ型文字列の 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()
メソッドを呼び出します。このメソッドには、それぞれ phoneNum
と phoneFormat
の 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
I'm a Flutter application developer with 1 year of professional experience in the field. I've created applications for both, android and iOS using AWS and Firebase, as the backend. I've written articles relating to the theoretical and problem-solving aspects of C, C++, and C#. I'm currently enrolled in an undergraduate program for Information Technology.
LinkedIn