Formatieren Sie eine Zeichenfolge als Telefonnummer in C#

Saad Aslam 12 Oktober 2023
  1. Verwendung von die Methode formatPhNumber() zum Formatieren einer Zeichenfolge als Telefonnummer in C#
  2. der gesamte Quellcode zum Formatieren einer Telefonnummer in C#
Formatieren Sie eine Zeichenfolge als Telefonnummer in C#

Dieser Artikel führt Sie in das Formatieren einer Telefonnummer in C# ein. Wir werden die Implementierung ausführlich diskutieren und ihre Ausführung verstehen.

Zuerst importieren wir die Bibliothek System, um die Funktionen oder Methoden von C# zu verwenden.

Wir benötigen auch eine weitere Bibliothek, System.Text.RegularExpressions, um die regulären Ausdrücke in unserem Beispiel zu verwenden, um die Telefonnummer in C# zu formatieren.

using System;
using System.Text.RegularExpressions;

Jetzt erstellen wir eine Klasse namens PhoneFormatter und führen innerhalb der Klasse alle Operationen aus.

class PhoneFormatter {}

Verwendung von die Methode formatPhNumber() zum Formatieren einer Zeichenfolge als Telefonnummer in C#

Wir erstellen eine Methode namens formatPhNumber() des Datentyps string mit dem Zugriffsmodifikator public und übergeben zwei Argumente des Datentyps string namens phoneNum bzw. phoneFormat innerhalb der vordefinierten Klasse PhoneFormatter.

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

Nach Abschluss dieser Schritte wird überprüft, ob das phoneFormat leer übergeben wird, von wo aus wir diese Methode in den nächsten Schritten aufrufen werden. Es weist dieser Variablen ein Standard-Telefonnummernformat zu, das in diesem Fall (##) ###-#### ist.

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

Wir erstellen eine Regex-Variable mit der Regex-Klasse und übergeben einen Wert an ihren Konstruktor. Diese beiden Codezeilen schließen alles andere im Wert von Regex aus.

Es gibt keine Möglichkeit für Alphabete oder Sonderzeichen, die Telefonnummer außer Zahlen zu formatieren.

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

Dann weisen wir der Variable phoneNum mit einer weiteren Funktion aus der Regex-Bibliothek namens Replace() einen neuen Wert zu.

Dabei wird das zuvor definierte Regex-Format verwendet und durch die von uns bereitgestellte Telefonnummer ersetzt.

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

Hier verwenden wir eine Bedingung, um zu sehen, ob die Variable phoneNum einen Wert hat, der anzeigt, dass die Länge von phoneNum größer als 0 ist.

Wenn dies der Fall ist, wird die Telefonnummer in das 64-Bit-Ganzzahlformat und das Telefonformat in einen Zeichenfolgenwert konvertiert, der dann der Variablen phoneNum zugewiesen wird.

Wir geben am Ende der Funktion formatPhNumber() einfach phoneNum zurück.

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

Hier kommt die Hauptmethode, die wir die zuvor erstellte Methode zum Formatieren der Telefonnummer nennen werden.

static void Main() {}

Innerhalb der Main()-Methode initialisieren wir eine string-Variable, die sie phNumber nennt. Die Telefonnummer wird gespeichert, um sie als Parameter an die Methode weiterzugeben.

string phNumber = "123456789";

Schließlich rufen wir innerhalb der print-Anweisung die formatPhNumber()-Methode auf, die zwei Parameter erfordert, nämlich phoneNum und phoneFormat.

Wir werden also die Telefonnummer mit phNumber und das Telefonformat mit einer leeren Zeichenfolge zuweisen.

Wie wir bereits besprochen haben, wird beim Übergeben eines leeren Werts an das Telefonformat automatisch der zuvor initialisierte Standardwert zugewiesen, es wird keine Ausnahme ausgelöst.

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

der gesamte Quellcode zum Formatieren einer Telefonnummer in 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, ""));
  }
}

Ausgabe:

(12) 345-6789
Autor: Saad Aslam
Saad Aslam avatar Saad Aslam avatar

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

Verwandter Artikel - Csharp String