c# - tabulador en c++
Insertando un carácter de tabulación en el texto usando C# (8)
Además de las anwsers anteriores, puede usar PadLeft o PadRight:
string name = "John";
string surname = "Smith";
Console.WriteLine("Name:".PadRight(15)+"Surname:".PadRight(15));
Console.WriteLine( name.PadRight(15) + surname.PadRight(15));
Esto completará la cadena con espacios a la izquierda o derecha.
Estoy creando una aplicación donde debería capturar varios valores y construir un texto con ellos: Name
, Age
, etc.
La salida será un texto plano en un TextBox
.
Estoy tratando de hacer que esa información aparezca en una especie de columns
, por lo tanto, estoy tratando de separarlos con una tab
para que quede más claro.
Por ejemplo, en lugar de tener:
Ann 26
Sarah 29
Paul 45
Me gustaría mostrarlo como:
Ann tab 26 Sarah tab 29 Paul tab 45
¿Algún consejo sobre cómo insert
las pestañas en mi texto?
Cuando use cadenas literales (comience con @ ") esto podría ser más fácil
char tab = ''/u0009'';
string A = "Apple";
string B = "Bob";
string myStr = String.Format(@"{0}:{1}{2}", A, tab, B);
Resultaría en Apple:<tab>Bob
Hay varias formas de hacerlo. Lo más simple es usar /t
en tu texto. Sin embargo, es posible que /t
no funcione en algunas situaciones, como PdfReport
nuget package.
Hazar tiene razón con su /t
. Aquí está la lista completa de personajes de escape para C #:
/'
para una sola cita.
/"
para una cita doble.
//
para una barra invertida.
/0
para un carácter nulo.
/a
para un personaje de alerta.
/b
para un retroceso.
/f
para un feed de formulario.
/n
para una nueva línea.
para un retorno de carro.
/t
para una pestaña horizontal.
/v
para una pestaña vertical.
/uxxxx
para un valor hexadecimal de caracteres Unicode (por ejemplo, /u0020
).
/x
es lo mismo que /u
, pero no necesita ceros iniciales (por ejemplo, /x20
).
/Uxxxxxxxx
para un valor hexadecimal de carácter Unicode (se necesita una forma más larga para generar sustitutos).
Intenta usar el caracter /t
en tus cadenas
También puede ser útil usar String.Format
, por ejemplo,
String.Format("{0}/t{1}", FirstName,Count);
string St = String.Format("{0,-20} {1,5:N1}/r", names[ctr], hours[ctr]);
richTextBox1.Text += St;
Esto funciona bien, pero debe tener una fuente mono-espaciada.
var text = "Ann@26"
var editedText = text.Replace("@", "/t");