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");