Dar formato a una cadena con espacios fijos en C#
-
Utilice el método
String.Format
para formatear una cadena con espacios fijos enC#
-
Use
$ – interpolación de cadenas
para formatear una cadena con espacios fijos enC#
-
Utilice
String.PadLeft
yString.PadRight
para formatear una cadena con espacios fijos enC#
En este tutorial, aprenderá cómo C# le brinda la libertad de formatear una cadena con espacio fijo usando diferentes métodos. El entorno .NET presenta métodos estáticos como String.Format
para alinear cadenas con espacios fijos.
Utilice el método String.Format
para formatear una cadena con espacios fijos en C#
Este método convierte el valor de objetos, variables o expresiones en cadenas y las inserta en otra cadena según los formatos especificados. El String.Format
comienza con una cadena de formato seguida de uno o más objetos.
La sintaxis {int, int}
representa una cadena de inserción y puede definir el ancho de la cadena insertada en la cadena de resultado. Por ejemplo, la sintaxis {0, 6}
representa una cadena de 6 caracteres.
En C#, las cadenas están alineadas a la derecha de manera predeterminada dentro de su campo y frente al ancho del campo con un signo negativo {0, -6}
para alinearlas a la izquierda. Los corchetes de este método denotan elementos opcionales, y una cadena de formato tiene la sintaxis {index[,alignment][:formatString]}
.
El índice de las cadenas de formato corresponde a un objeto que pertenece a la lista de argumentos del método, y este índice se puede procesar secuencialmente desde el principio de la cadena.
Código:
using System;
public class formatString {
public static void Main(string[] args) {
string prtTxtAlg = "I like burgundy.";
string txtFmtRight = String.Format("{0,30}", prtTxtAlg);
string txtFmtCenter = String.Format(
"{0,-30}",
String.Format("{0," + ((30 + prtTxtAlg.Length) / 2).ToString() + "}", prtTxtAlg));
string txtFmtLeft = String.Format("{0,-30}", prtTxtAlg);
Console.WriteLine(txtFmtRight);
Console.WriteLine(txtFmtCenter);
Console.WriteLine(txtFmtLeft);
}
}
Producción :
I like burgundy.
I like burgundy.
I like burgundy.
Use $ – interpolación de cadenas
para formatear una cadena con espacios fijos en C#
El $
se identifica como una cadena interpolada que contiene expresiones de interpolación. Cuando el $ - cadena
se resuelve en una cadena de resultado, obliga a que los elementos con expresiones de interpolación sean reemplazados por las representaciones de cadena de los resultados de la expresión.
La sintaxis {<interpolationExpression>[,<alignment>][:<formatString>]}
representa una cadena y su estructura representa su expresión de interpolación. Hay un elemento principal de la $ - interpolation string
que es <interpolationExpression>
y dos secundarios y opcionales que están entre corchetes son; <alignment>
y <formatString>
.
La interpolationExpression
produce un resultado a formatear, la alignment
representa un valor positivo o negativo para alinear la cadena a la derecha o a la izquierda, y la formatString
es compatible con el tipo de resultado de la expresión.
En general, se requiere una llamada a un método que admita el formato compuesto, pero puede usar cualquier cadena con la ayuda de este método sin necesidad de compatibilidad con ningún método para el formato compuesto. C# facilita la lectura y la codificación de las cadenas interpoladas al introducir la expresión en la expresión interpolada para insertarla en una cadena en lugar de en una lista de argumentos.
Además de la mayor comprensibilidad y rendimiento, el método $ - interpolación de cadenas
puede reemplazar no solo las llamadas a métodos de formato compuesto, sino que también puede usarse en operaciones de concatenación de cadenas. Las operaciones de concatenación que admite pueden producir código C# más preciso y legible.
Código:
using System;
public class formatString {
public static void Main(string[] args) {
string value = "I like burgundy.";
string txtRight = $"{value,25}";
string txtCenter = $"{value,20}";
string txtLeft = $"{value,-10}";
Console.WriteLine(txtRight);
Console.WriteLine(txtCenter);
Console.WriteLine(txtLeft);
}
}
Producción :
I like burgundy.
I like burgundy.
I like burgundy.
Utilice String.PadLeft
y String.PadRight
para formatear una cadena con espacios fijos en C#
El método String.PadLeft
rellena una cadena con caracteres iniciales hasta una longitud total especificada. El método String.PadRight
rellena una cadena con caracteres finales hasta una longitud total especificada.
Puede tomar el concepto de estos dos métodos String y crear un nuevo método String.PadCenter
que encontrará en el siguiente código C#. El carácter de relleno en los métodos String
puede ser un espacio o un carácter específico, y la cadena resultante parece estar alineada a la derecha o a la izquierda.
En C#, PadLeft()
y PadRight()
pueden alinear a la derecha oa la izquierda la cadena rellenándolas con espacios o caracteres específicos a la izquierda o a la derecha para una longitud total especificada.
Código:
using System;
public class formatString {
public static void Main(string[] args) {
string txt = "I like burgundy.";
Console.WriteLine(txt.PadLeft(20, ' '));
// to pad_center the string using custom C# code
Console.WriteLine(txtCenter.PadCenter(txt, 20, ' '));
Console.WriteLine(txt.PadRight(20, ' '));
}
}
// custom code to create `PadCenter` String method in C#
public static class txtCenter {
public static string PadCenter(this string txt, int width, char symb) {
if (txt == null || width <= txt.Length)
return txt;
int padding = width - txt.Length;
return txt.PadLeft(txt.Length + padding / 2, symb).PadRight(width, symb);
}
}
Producción :
I like burgundy.
I like burgundy.
I like burgundy.
En este tutorial, ha aprendido todo lo que hay que saber sobre cómo formatear una cadena con espacios fijos o relleno en C#.
Hassan is a Software Engineer with a well-developed set of programming skills. He uses his knowledge and writing capabilities to produce interesting-to-read technical articles.
GitHub