Cadenas de Caracteres: Uso y Manipulación Básica en Programación
Resumen
¿Qué es una cadena de caracteres?
Las cadenas de caracteres o "strings" son un tipo de dato fundamental en muchos lenguajes de programación. Básicamente, una cadena es una secuencia de caracteres que puede incluir letras, números o cualquier otro símbolo. Las cadenas son extremadamente útiles para manejar la información que un usuario introduce o la que se obtiene de una base de datos, por ejemplo, el nombre de un usuario, su dirección o cualquier texto que se quiera almacenar y manipular.
¿Cómo declarar y usar cadenas de caracteres en programación?
En programación, es común declarar variables de diferentes tipos de datos para almacenar información. A continuación, se describe cómo se pueden declarar y usar cadenas de caracteres junto con tipos de datos comunes como enteros ("int") y puntos flotantes ("float").
int edad =20;// Se declara una variable entera para la edadfloat altura =1.70f;// Se declara la altura como punto flotantestring nombre ="Ricardo Celis";// Se declara una cadena con el nombre
¿Por qué usar un editor de código integrado?
El uso de un IDE (Integrated Development Environment) o entorno de desarrollo integrado es clave para facilitar la programación. Estos editores no solo resaltan el código, sino que también ofrecen sugerencias y alertas sobre posibles errores, ayudándonos a escribir un código más eficiente y libre de errores.
¿Cómo concatenar y manipular cadenas de caracteres?
La concatenación de cadenas es una técnica importante que nos permite unir diferentes textos o variables en una sola cadena.
Ejemplo de concatenación y su importancia
Vamos a ver cómo podrías unir una cadena con otras variables para construir una oración útil:
string informacion ="La información solicitada es: ";informacion +="Nombre de usuario: "+ nombre +"\n";informacion +="Edad del usuario: "+ edad +"\n";informacion +="Altura del usuario: "+ altura;
Concatenación: El operador + se utiliza para unir cadenas y variables, asegurando que toda la información se muestre de manera lógica y legible.
Saltos de línea: Usar \n dentro de las cadenas agrega saltos de línea para que el resultado sea más claro y estructurado.
Consejos al trabajar con cadenas
Espacios en blanco: Siempre recuerda incluir espacios en blanco para separar palabras y valores de manera adecuada.
Salto de línea: El comando \n es útil para mejorar la legibilidad al mostrar la información en nuevas líneas.
Uso de punto y coma: En lenguajes como C# y Java, el punto y coma (;) es fundamental para señalar el final de una instrucción.
¿Qué nos depara el futuro con las cadenas de caracteres?
Trabajar con cadenas de caracteres es solo el principio. En niveles más avanzados, podrás explorar métodos que permiten modificar, buscar, y manipular cadenas de maneras sofisticadas. Métodos como substring, replace y muchos otros facilitan tareas complejas y harán de tu experiencia de programación algo mucho más poderoso y flexible.
Esto no solamente incrementa la capacidad de tu aplicación para interactuar con el usuario, sino que también te da herramientas para realizar un procesamiento de datos más eficiente. ¡Te invitamos a seguir explorando y aprendiendo sobre el fascinante mundo de la programación!
classProgram{staticvoidMain(string[] args){Console.WriteLine("Hello Platzi!"); int height =170; int age =22; string name ="Abdel Mejia"; string information = $"The requested info is:\nUser name: {name} \nUser age: {age} \nUser height: {height}";Console.WriteLine(information);}}
Me parece mucha mejor opción que utilizar el operador + para concatenar
Una manera más entendible seria de la siguiente manera:
using System;namespace Hello_World_Platzi{classProgram{staticvoidMain(string[] args){Console.WriteLine("Hello World!"); int height =170; int age =20; string name ="chaqui"; string placeHolderText ="The information you requested is:"; string information = $"{placeHolderText} \n \t name: {name} \n \t age: {age} \n \t height: {height}";Console.WriteLine(information);}}}
Hay diferentes funciones que se pueden usar con los strings.
Length para contar el numero de caracteres de un string.
ToUpper() y ToLower() para convertir todo el string en mayuscula o minuscula.
El uso del \ es muy importante, ya que nos permite insertar en el string objetos como /, " y '.
Ejemplos:
string team ="Liverpool";Console.WriteLine("The length of the word Liverpool is: "+ team.Length);//9 charactersConsole.WriteLine(team.ToUpper());//LIVERPOOL Console.WriteLine(team.ToLower());//liverpoolConsole.WriteLine("El \"Liverpool\"");//El "Liverpool"Console.WriteLine("El \'Liverpool\'");//El 'Liverpool'Console.WriteLine("El \\Liverpool\\");//El \Liverpool\
Gracias por compartirlo.
En un comentario anterior pusieron la interpolación con $. Pueden tabular con /t
int height = 172;
int age = 19;
string name = "Marcos Lanuza";
string description = "The requested info is:\n" +
$"\tUser name = {name}\n" +
$"\tUser age = {age}\n" +
$"\tUser height = {height}";
Console.WriteLine(description);
Mucho mejor organizando de esa forma, las respuestas.
Uso de String:
Recapitulación:
Tipo de dato: String;
Espacio en memoria: 2 Bytes (16bits)
Rango: 0 y 65535
Descripción: Almacena una secuencia de caracteres
Cuando realizamos concatenación de caracteres, una forma de dejar espacio es incluyéndolos dentro de los string.
Ejemplo:"My name is ".
Para realizar salto de líneas usamos \n dentro de nuestra cadena de caracteres.
Ejemplo:"The required information: \n"
que bonito y ordenado se ve!
gracias.. :D
Alt + 92 = \
using System;namespace HelloWorldPlatzi{classProgram{staticvoidMain(string[] args){Console.WriteLine("Hello Platzi! :P"); int height =167; int age =29; string name ="Eduardo Canales"; string information ="The requested info is:\nUser name: "+ name +"\nUser age: "+ age +"\nUser height: "+ height;Console.WriteLine(information);}}}
Les comparto mi codigo sobre variables:
using System;
namespace _09_ManejoDeStrings
{classProgram{staticvoidMain(){/* *************** Variables ************* */ double height =1.68; int age =26; string firstName ="German"; string lastName ="Pinilla"; bool isDeveloper =true; string fullName = $"{ firstName } { lastName }";Console.WriteLine("************ User information ************");Console.WriteLine($"👨🏻💻 Hi, { fullName }");Console.WriteLine($"★ First name: { firstName }");Console.WriteLine($"★ Last name: { lastName }");Console.WriteLine($"★ Age: { age }");Console.WriteLine($"★ Height: { height }");Console.WriteLine($"★ Is developer?: { isDeveloper }");}}}
Y el resultado en consola:
👨🏻💻 Hi,GermanPinilla★ First name:German★ Last name:Pinilla★ Age:26★ Height:1.68★ Is developer?:True
**Documentar tambien es bueno... **
Adjunto mi practica :D.
Desde mi punto de vista es mejor utilizar el método string.Concat
Ejemplo:
int height =170;int age =20;string name = “Ricardo Celis”;string information = string.Concat("The requested info is:\nUser name ", name,"\nUser age ", age,"\nUser height ", height);Console.WriteLine(information);
Para la barra invertida puedes usar :
Alt + 92
tremendo, gracias!
Lo recomendado por Microsoft para el salto de linea es utilizar:
Environment.NewLine
En lugar de \n
¿Por qué? ¿Qué diferencia tiene ambas opciones?
por qué se recomienda esto en vez de \n? no es más lioso y menos rápido a la hora de picar código?
++Formas de manejar Strings++
Si pensamos imprimir oraciones largas, listados de información o cualquier otro tipo de texto lo más probable es que no se trate de algo predefinido en su totalidad y que necesites que cierta información varíe (ejemplo: lista de datos de un usuario registrado). Para esto tenemos diferente maneras de concatenar la información:
Concatenar ( + ): "No se puede sumar gatos con perros", una vil mentira. Si bien no podemos sumar TEXTOS con NÚMEROS sí es posible unir variables en una línea
int numCats =5;int numDogs =3;string sentence ="Tengo "+ numCats +" gatos y "+ numDogs +" perros.";Console.WriteLine(sentence);
Tengo 5 gatos y 3 perros.
Cualquier cambio que hagas a futuro en el valor de las variables numCats y numDogs hará que el número de cada uno cambie, peeeero el resto del texto en sentence quedará igual a menos que también los cambios. Nótese que C# no tiene problemas en introducir valores tipo int en la oración, algo que ocurre también en otros lenguajes como Python o Javascript porque a fin de cuentas no está SUMANDO un valor con otro (no puede, no es posible) sino CONCATENANDO (+).
El problema de esto es que es largo y se presta a confuciones a la hora de leer el código incluso si fuimos nosotros quienes lo hemos escrito, lo cual no debería suceder (el código debe ser legible para cualquiera y fácil de modificar, un consenso en programación). Una alternativa?
$: Quizás esto se explique en otra clase pero me viene bien comentarlo ahora: existe la posibilidad de quitar los + del texto, no tener que colocar a ojo los signos de puntuación para que todo se entienda y los espacios. Para esto aplicamos el $ antes de las comillas
int numCats =5; int numDogs =3; string sentence = $"Tengo {numCats} gatos y {numDogs} perros.";Console.WriteLine(sentence);
Tengo 5 gatos y 3 perros.
Primero el signo $, abrimos paréntesis para colocar el texto deseado y vamos llamando a cada variable con su nombre entre {}, cerrando finalmente los paréntesis y dando como resultado lo mismo que con la anterior opción pero más claro y rápido de escribir en cuanto a código (también es algo que está presente en otros lenguajes como Python).
"Pero qué ocurre si quiero escribir en renglones o haciendo una especie de lista❓"
En ese caso, pequeño Timmy, usaremos \n entre las comillas, sea usando la concatenación o el $:
int numCats =5; int numDogs =3; string sentence = $"Tengo:\n {numCats} gatos\n {numDogs} perros.";Console.WriteLine(sentence);
Tengo:
5 gatos
3 perros
👋Hola. Como varios ya han comentado se puede usar "$" para interpolar el string con la información de las variables sin necesidad de usar "+".
...
Escribí el código utilizando solo las variables:
userName
age
height
...
Cree la variable "information" para unir toda la info separándola con espacios dentro del propio string gracias al uso de "$" al inicio.
...
Para imprimirlo volví a utilizar "$" dentro del "Console.Write". No me gustaba la idea de incluir la frase "The information requested is:" dentro de la variable information porque me parecía que no combinaba con el tipo de texto y variables que incluí allí. Pero es cuestión de gustos.
...
Es genial todo lo que se aprende en los comentarios ✌.
Console.WriteLine("Hello, World!\n");int height =170;int age =30;string userName ="Victor";string information = $"\nUser name:{userName} \nHeight:{height} \nAge:{age}";Console.WriteLine($"The requested information is:{information}");
El avance de la clase.
Los aportes de varios estudiantes son muy interesantes y ayudan mucho, excelente comunidad.
cuando quieran escribir un Console.WriteLine(), pones cw y le das dos veces al tabulador para ahorrarte trabajo al escribir código.
Un grande, gracias <3
internal classProgram{staticvoidMain(string[] args){Console.WriteLine("Hello World!"); float height =1.74f; int age =20; string name ="Facundo Castro"; string information = $"The requested info is: \nName: {name}\nHeight: {height}\nAge: {age}";Console.WriteLine(information);}}
Resultado sabroson:
También se puede utilizar la opción del “string.Format”, es parecido a una interpolación, le diferencia es que las variables se agregan en la función y se llaman según el índice:
int height =170;int age =20;string name ="Josian";string placeholderText ="The information you requested is: ";string information = string.Format("{1} {0}Name: {2} {0}Age: {3} {0}Height: {4}","\n", placeholderText, name, age, height);Console.WriteLine(information);