Formatieren Sie eine Zeichenfolge als Telefonnummer in C#
-
Verwendung von die Methode
formatPhNumber()
zum Formatieren einer Zeichenfolge als Telefonnummer inC#
-
der gesamte Quellcode zum Formatieren einer 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
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.
LinkedInVerwandter Artikel - Csharp String
- C# Int in String konvertieren
- C# String in Enum konvertieren
- Verwendung von Strings in der Switch-Anweisung in C#
- So konvertieren Sie eine Zeichenkette in ein Byte-Array in C#
- Wie konvertiert man eine Zeichenkette in C# in boolesche Zeichenketten
- Wie schreibt man ein mehrzeiliges String-Literal in C#