Dar formato a una cadena como número de teléfono en C#
-
Utilice el método
formatPhNumber()
para dar formato a una cadena como un número de teléfono enC#
-
el código fuente completo para formatear un número de teléfono en
C#
Este artículo le presentará cómo formatear un número de teléfono en C#. Discutiremos profundamente la implementación y entenderemos su ejecución.
Primero, importaremos la Biblioteca Sistema
para usar las funciones o métodos de C#.
También necesitaremos otra biblioteca, System.Text.RegularExpressions
, para usar las expresiones regulares en nuestro ejemplo para formatear el número de teléfono en C#.
using System;
using System.Text.RegularExpressions;
Ahora crearemos una clase llamada PhoneFormatter
, y dentro de la clase, realizaremos todas las operaciones.
class PhoneFormatter {}
Utilice el método formatPhNumber()
para dar formato a una cadena como un número de teléfono en C#
Crearemos un método llamado formatPhNumber()
de la cadena de tipo de datos con el modificador de acceso público
y pasaremos dos argumentos de la cadena de tipo de datos, llamados phoneNum
y phoneFormat
respectivamente, dentro del predefinido clase PhoneFormatter
.
class PhoneFormatter {
public static string formatPhNumber(string phoneNum, string phoneFormat) {}
}
Después de completar estos pasos, se aplicará una verificación si el phoneFormat
se pasa vacío, desde donde llamaremos a este método en los próximos pasos. Asignará esta variable, un formato de número de teléfono predeterminado que es (##) ###-####
en este caso.
if (phoneFormat == "") {
phoneFormat = "(##) ###-####";
}
Crearemos una variable regex
con la clase Regex
y le pasaremos un valor a su Constructor. Estas dos líneas de código excluyen cualquier otra cosa en el valor de Regex
.
No hay posibilidad de que ningún alfabeto o carácter especial formatee el número de teléfono, excepto los números.
Regex regex = new Regex(@"[^\d]");
Luego asignamos a la variable phoneNum
un nuevo valor usando otra función de la biblioteca Regex llamada Replace()
.
Eso usará el formato de regex
previamente definido y lo reemplazará con el número de teléfono que le proporcionaremos.
phoneNum = regex.Replace(phoneNum, "");
Aquí, estamos usando una condición para ver si la variable phoneNum
tiene un valor, lo que indica que la longitud de phoneNum
es mayor que 0
.
Si lo hace, el número de teléfono se convertirá a formato entero de 64 bits y el formato de teléfono a un valor de cadena, que luego se asignará a la variable phoneNum
.
Simplemente devolveremos phoneNum
al final de la función formatPhNumber()
.
if (phoneNum.Length > 0) {
phoneNum = Convert.ToInt64(phoneNum).ToString(phoneFormat);
}
return phoneNum;
Aquí viene el método main en el interior, al que llamaremos el método creado previamente para formatear el número de teléfono.
static void Main() {}
Dentro del método Main()
, inicializaremos una variable string
llamándola phNumber
. El número de teléfono se guardará para pasarlo como parámetro al método.
string phNumber = "123456789";
Por último, dentro de la instrucción print
, llamaremos al método formatPhNumber()
, que requiere dos parámetros que son phoneNum
y phoneFormat
, respectivamente.
Entonces, asignaremos el número de teléfono con phNumber
y el formato de teléfono con una cadena vacía.
Como hemos discutido anteriormente, al pasar un valor vacío al formato de teléfono se le asignará automáticamente el valor predeterminado inicializado antes, no arrojará ninguna excepción.
Console.WriteLine(formatPhNumber(phNumber, ""));
el código fuente completo para formatear un número de teléfono en 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, ""));
}
}
Producción :
(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