No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Manejo de strings

9/26
Recursos

Aportes 46

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

tambien se puede interpolar el texto con $""
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/tokens/interpolated

class Program
    {
        static void Main(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);
        }
    }

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 characters
Console.WriteLine(team.ToUpper()); //LIVERPOOL 
Console.WriteLine(team.ToLower()); //liverpool

Console.WriteLine("El \"Liverpool\""); //El "Liverpool"
Console.WriteLine("El \'Liverpool\'"); //El 'Liverpool'
Console.WriteLine("El \\Liverpool\\"); //El \Liverpool\

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

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”

Alt + 92 = \

using System;

namespace HelloWorldPlatzi
{
    class Program
    {
        static void Main(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
{
    class Program
    {
        static void Main()
        {
            /* *************** 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, German Pinilla
 First name: German
 Last name: Pinilla
 Age: 26
 Height: 1.68
 Is developer?: True

**Documentar tambien es bueno… **
Adjunto mi practica 😄.

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

Lo recomendado por Microsoft para el salto de linea es utilizar:

Environment.NewLine

En lugar de \n

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.

internal class Program
    {
        static void Main(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);

here we go !!!

![](https://static.platzi.com/media/user_upload/image-ba57a2f8-dab1-4a4e-814b-343195f3527e.jpg) ![]()Hice que primero me pida los datos y luego los muestre
Hice que primero me pregunte los datos y luego los muestre:```c# class program { static void Main(string[] args) { int altura; int edad; string nombres = ""; string apellidos = ""; Console.WriteLine("Escribe tus Nombres"); nombres = Console.ReadLine(); Console.WriteLine("Escribe tus Apellidos"); apellidos = Console.ReadLine(); Console.WriteLine("Escribe tu Edad"); edad = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Escribe tu Tu altura en centimetros"); altura = Convert.ToInt32(Console.ReadLine()); string Informacion = $"La informacion de la persona es: \n" + $"Nombres: {nombres}\n" + $"Apellidos: {apellidos}\n" + $"Edad: {edad}\n" + $"Altura: {altura}cm"; Console.WriteLine(Informacion); } } } ```
Hice que primero me pregunte mis datos y luego los muestre: ```c# namespace HolaMundo { class program { static void Main(string[] args) { int altura; int edad; string nombres = ""; string apellidos = ""; Console.WriteLine("Escribe tus Nombres"); nombres = Console.ReadLine(); Console.WriteLine("Escribe tus Apellidos"); apellidos = Console.ReadLine(); Console.WriteLine("Escribe tu Edad"); edad = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Escribe tu Tu altura en centimetros"); altura = Convert.ToInt32(Console.ReadLine()); string Informacion = $"La informacion de la persona es: \n" + $"Nombres: {nombres}\n" + $"Apellidos: {apellidos}\n" + $"Edad: {edad}\n" + $"Altura: {altura}cm"; Console.WriteLine(Informacion); } } } ```namespace HolaMundo { class program { static void Main(string\[] args) { int altura; int edad; string nombres = ""; string apellidos = ""; Console.WriteLine("Escribe tus Nombres"); nombres = Console.ReadLine(); Console.WriteLine("Escribe tus Apellidos"); apellidos = Console.ReadLine(); Console.WriteLine("Escribe tu Edad"); edad = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Escribe tu Tu altura en centimetros"); altura = Convert.ToInt32(Console.ReadLine()); string Informacion = $"La informacion de la persona es: \n" + $"Nombres: {nombres}\n" + $"Apellidos: {apellidos}\n" + $"Edad: {edad}\n" + $"Altura: {altura}cm"; Console.WriteLine(Informacion); } } }
Hice que primero me pregunte la informacion y luego la presente: namespace HolaMundo { class program { static void Main(string\[] args) { int altura; int edad; string nombres = ""; string apellidos = ""; Console.WriteLine("Escribe tus Nombres"); nombres = Console.ReadLine(); Console.WriteLine("Escribe tus Apellidos"); apellidos = Console.ReadLine(); Console.WriteLine("Escribe tu Edad"); edad = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Escribe tu Tu altura en centimetros"); altura = Convert.ToInt32(Console.ReadLine()); string Informacion = $"La informacion de la persona es: \n" + $"Nombres: {nombres}\n" + $"Apellidos: {apellidos}\n" + $"Edad: {edad}\n" + $"Altura: {altura}cm"; Console.WriteLine(Informacion); } } }

¡Claro! Aquí tienes una lista de algunas funciones o métodos comunes que se pueden aplicar a strings en C#:

  1. Length: Devuelve la longitud de una cadena.
string cadena = "Hola mundo";
int longitud = cadena.Length; // longitud será igual a 10
  1. Substring: Devuelve una subcadena de la cadena original.
string cadena = "Hola mundo";
string subcadena = cadena.Substring(0, 4); // subcadena será igual a "Hola"
  1. IndexOf: Devuelve la posición de la primera ocurrencia de un carácter o una subcadena dentro de la cadena original.
string cadena = "Hola mundo";
int posicion = cadena.IndexOf("m"); // posición será igual a 5
  1. Replace: Reemplaza todas las ocurrencias de una subcadena por otra subcadena.
string cadena = "Hola mundo";
string nuevaCadena = cadena.Replace("mundo", "amigos"); // nuevaCadena será igual a "Hola amigos"
  1. ToUpper y ToLower: Convierte toda la cadena a mayúsculas o minúsculas, respectivamente.
string cadena = "Hola mundo";
string cadenaMayusculas = cadena.ToUpper(); // cadenaMayusculas será igual a "HOLA MUNDO"
string cadenaMinusculas = cadena.ToLower(); // cadenaMinusculas será igual a "hola mundo"
  1. Trim: Elimina los espacios en blanco al principio y al final de la cadena.
string cadena = "  Hola mundo  ";
string nuevaCadena = cadena.Trim(); // nuevaCadena será igual a "Hola mundo"
  1. Split: Divide la cadena en varias subcadenas basadas en un separador específico.
string cadena = "Hola,mundo";
string[] subcadenas = cadena.Split(','); // subcadenas será un arreglo de strings con dos elementos: "Hola" y "mundo"
  1. Contains: Verifica si la cadena contiene una subcadena específica.
string cadena = "Hola mundo";
bool contiene = cadena.Contains("mundo"); // contiene será verdadero
  1. StartsWith y EndsWith: Verifica si la cadena comienza o termina con una subcadena específica, respectivamente.
string cadena = "Hola mundo";
bool comienzaConHola = cadena.StartsWith("Hola"); // comienzaConHola será verdadero
bool terminaConMundo = cadena.EndsWith("mundo"); // terminaConMundo será verdadero
  1. Concat: Concatena dos o más cadenas en una sola cadena.
string cadena1 = "Hola";
string cadena2 = "mundo";
string nuevaCadena = string.Concat(cadena1, " ", cadena2); // nuevaCadena será igual a "Hola mundo"

Estos son solo algunos ejemplos de los métodos y funciones que se pueden aplicar a strings en C#. Hay muchos otros disponibles, y puedes encontrar más información en la documentación oficial de Microsoft.

USO DE STRINGS

yo hice de manera diferente, solo use espacio. ya venia de de JS con estos conceptos, solo que las variables tienen nombre propio.

jeje, igual me salio…

Para los compañeros que en Visual 2022 se les cierra la consola al ejecutar su codigo, usen la sentencia:

Console.ReadKey();

Al final de su codigo, eso hara que haya una pausa y mientras ustedes no precionen una tecla, el programa no seguira ejecutandoce y no se cerrara la ventana.

    internal class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World Platzi");


            int height = 185;
            int age = 30;
            string name = "Mario Roberto";
            //string placeHolderText = "The information you resquested is:";
            string information = "The requested info is: \nUser name " + name + " \nand you age is " + age + "\nand you height is " + height;
            Console.WriteLine(information);
            Console.ReadKey();
        }
    }

👉Tipos de datos en C#

Le colocaba al profesor Celis por ahi 25 años. Bien cabron cuando dijo que tenia 20 hahahaha.

Por otro lado, siento que explica muy bien.

internal class Program
{
private static void Main(string[] args)
{
Console.WriteLine(“Hola Usuario!!”);
double altura = 1.65;
int edad = 51;
string nombre = “Adria&Martin3z”;
string alias = “Kommputron”;
string information = “La informacion solicitada es …” + “\nNombre :” + nombre +
"\nAlias :"+alias+"\nEdad=" + edad +"-años"+ “\nAltura=” + altura+"-metros";

    Console.WriteLine(information);
}

}

hermano la proxima que hagas un curso porf intenta hacer las cosas o los ejercicios correctos lo veo la logica en que te equivoques o enseñes algo que no es logico o no se utiliza para luego decir que hay otra forma eso es perdida de tiempo y energia porque estamos poniendo atencion y aprendiendo algo que luego no se va a utilizar gracias

C#

<int height = 175;
string measure = "cm";
int age = 35;
string name = "Camilo Mejia";
string information = "The information you requested is:\n" + "\n User name: " + name + "\n User heigth: " + 
    height + measure + "\n User age: " + age;
Console.WriteLine(information);> 

Console

<Hello, World!
The information you requested is:

 User name: Camilo Mejia
 User heigth: 175cm
 User age: 35> 

{
int height = 170;
int age = 40;
string name = “mario uriel”;

Console.WriteLine(" Mi nombre es: " + name + " Mi edad es: " + (int)age + " Mi estatura es :" + (int)height);

}

using System;

namespace _5Strings
{
    internal class Program
    {
        static void Main(string[] args)
        {
            //Definimos las variables
            double height = 1.75;
            int age = 21;
            string name = "Jonathan Mejorado López";

            //Definimos la salida de información sin saltos de linea y todo junto
            string placeholderText = "The information you requested is: ";
            string information = placeholderText + name + age + height;

            //Definimos la información que imprimiremos pero con un mejor formato con saltos de linea y espacios prudentes
            string information2 = "The requested info is: \n \t User Name: " + name + "\n \t User Age: " + age + " \n \t User height: " + height;

            //Definimos la salida a pantalla que tendra el nombre en minuscula  y mayuscula completamente
            string information3 = placeholderText + "\n \tUser Name in Majuscule: " + name.ToUpper() + "\n \t User Name in Minuscule: " + name.ToLower() + "\n \t User Age: " + age + " \n  \tUser height: " + height;

            //Definicion de string con $
            string information4 = $" {placeholderText} \n User name: {name} \n User Age: {age} \n User Height: {height}";

            //Imprimimos la primera prueba sin saltos de linea ni espacios(todo saldra junto)
            Console.WriteLine(information);

            //Solicitamos al usuario que presione alguna tecla, y en cuanto lo recibe limpia pantalla
            Console.ReadLine();
            Console.Clear();

            //Imprimimos la informacón de forma mas clara con saltos de linea y espacios correctos
            Console.WriteLine(information2);

            //Solicitamos al usuario que presione alguna tecla, y en cuanto lo recibe limpia pantalla
            Console.ReadLine();
            Console.Clear();

            //Imprimimos el nombre en mayusculas  y minuscula completamente  y todo lo demas como estaba
            Console.Write(information3);

            //Solicitamos al usuario que presione alguna tecla, y en cuanto lo recibe limpia pantalla
            Console.ReadLine();
            Console.Clear();

            //Imprimimos el nombre en mayusculas  y minuscula completamente  y todo lo demas como estaba
            Console.Write(information4);


        }
    }
}

Recopile lo que vi en comentarios que me parecio interesante y junte algunos en el mismo codigo

La cadena de String nos sirve para desplegar información.

Hasta ahora vamos bien con C#

Seguimos repasando

static void Main(string[] args)
{
Console.WriteLine(“Hello Platzi!”);

        Console.WriteLine("Cual Es tu nombre: ");
        string name = Console.ReadLine();
        Console.WriteLine("Cuanto Mides en CM: ");
        int height = Convert.ToInt32(Console.ReadLine());
        Console.WriteLine("Que Edad Tienes: ");
        int age = Convert.ToInt32(Console.ReadLine());

        string information = $"The requested info is:\nUser name: {name} \nUser age: {age} \nUser height: {height}";
        Console.WriteLine(information);

        Console.ReadLine();
    }
También se puede reemplazar el uso de /n concatenando la constante vbcrlf

Supongo que muestra esta forma para manejar strings a manera pedagógica, porque hay algunos casos en los que no es viable usar string interpolation

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("Welcome, new User!");

        int height = 165;
        int age = 13;
        string name = "Juan José González";
        string information = "The requested info is:"+" \n User name: " + name+  "\n User age:" +age+ "\n User height:"+ height;
        Console.WriteLine(information);
    }
}

Yo lo hice asi:

            int height;
            int weigth;
            string name;
            string info;
            string placeholder = "The information you requested is: ";

            Console.WriteLine("Input height: ");
            height = Convert.ToInt32(Console.ReadLine());

            Console.WriteLine("Input weigth: ");
            weigth = Convert.ToInt32(Console.ReadLine());

            Console.WriteLine("Input name: ");
            name = Console.ReadLine();

            info = "\n Height: " + height + " cm " + "\n Weight: " + 		 
            weigth + "kg" + "\n Name: " + name;

            Console.WriteLine(placeholder + " " + info);