CursosEmpresasBlogLiveConfPrecios

String con Dart

Clase 8 de 23 • Curso de Dart desde Cero

Clase anteriorSiguiente clase

Contenido del curso

Introducción

  • 1
    Bienvenida al curso

    Bienvenida al curso

    01:44 min
  • 2
    Introducción de Dart

    Introducción de Dart

    07:59 min
  • 3
    Introducción a DartPad

    Introducción a DartPad

    12:17 min
  • Quiz Módulo 1

Las bases de programación

  • 4
    Variables

    Variables

    04:51 min
  • 5
    Tipos de datos básicos

    Tipos de datos básicos

    15:33 min
  • 6
    Tipos de datos avanzados

    Tipos de datos avanzados

    07:23 min
  • 7
    Manipulación de variables

    Manipulación de variables

    05:54 min
  • 8
    String con Dart

    String con Dart

    Viendo ahora
  • 9
    Conversión de tipos

    Conversión de tipos

    05:17 min
  • 10

    Ejercicio sobre las bases de programación

    00:49 min
  • Quiz Módulo 2

Flujo de datos

  • 11
    Operaciones

    Operaciones

    13:36 min
  • 12
    Condicionales

    Condicionales

    08:44 min
  • 13
    Ciclos

    Ciclos

    08:04 min
  • 14
    Enumeraciones

    Enumeraciones

    04:59 min
  • 15

    ¡Construye una calculadora!

    01:07 min

Colecciones

  • 16
    Introducción a las colecciones

    Introducción a las colecciones

    01:50 min
  • 17
    Colección de tipo Lista

    Colección de tipo Lista

    09:46 min
  • 18
    Colección de tipo Sets

    Colección de tipo Sets

    05:04 min
  • 19
    Colección de tipo Mapa

    Colección de tipo Mapa

    07:52 min
  • 20
    Colección de colecciones

    Colección de colecciones

    08:39 min
  • 21
    Flujos dentro de colecciones

    Flujos dentro de colecciones

    04:44 min
  • 22

    Reto de colecciones

    00:44 min

Conclusión

  • 23
    Sigue aprendiendo Dart

    Sigue aprendiendo Dart

    00:38 min
  • Tomar el examen del curso
    • Marcos Ramirez

      Marcos Ramirez

      student•
      hace 4 años

      \n Salto de linea \t Tabulado \r retorno

        Marcelo Loredo

        Marcelo Loredo

        student•
        hace 3 años

        ¿Para qué sirve el comando de retorno? Lo probé, pero no tiene ningún efecto.

        Fernando Monsivais

        Fernando Monsivais

        student•
        hace 3 años

        No estoy seguro si el retorno es lo inverso a tabulación...

      David Argote

      David Argote

      student•
      hace 4 años

      Jugando con los métodos de los String hice esto:

      void main() { final String name = 'david argote'; final splitName = name.split(' '); final nameFormatter = splitName[0][0].toUpperCase() + splitName[0].substring(1, splitName[0].length) + ' ' + splitName[1][0].toUpperCase() + splitName[1].substring(1, splitName[1].length); print(nameFormatter); // David Argote }

      Cambia dos palabras que están en minúscula a la misma palabra pero con las primeras letras de cada palabra a mayúscula. Si encuentras otra forma de resolver esto no dudes en compartirla. Me encantaría verla 👨‍💻.

      pdt: Mi solución solo funciona con 2 palabras, pero sé que se podría hacer para más.

        Cristian David Acevedo Escobar

        Cristian David Acevedo Escobar

        student•
        hace 4 años
        import 'dart:io'; extension StringExtension on String { String toCapitalized() => length > 0 ? '${this[0].toUpperCase()}${substring(1).toLowerCase()}' : ''; String toTitleCase() => replaceAll(RegExp(' +'), ' ') .split(' ') .map((str) => str.toCapitalized()) .join(' '); } void main() { print('Enter your name'); String? name = stdin.readLineSync(); print('Welcome ${name?.toTitleCase()}'); }
        Anghelo Alexander Pintado Valverde

        Anghelo Alexander Pintado Valverde

        student•
        hace un año

        Hice una versión que considero menos eficiente en cuestion de memoria pero cumple con el mismo objetivo: void main() {

        String nombre = "anghelo alexander", salida = "";

        List<String> palabras = nombre.split(" ");

        for (int i = 0; i < palabras.length; i++) {

        String complemento = palabras[i].substring(1);

        String inicio = palabras[i].substring(0, 1).toUpperCase();

        palabras[i] = inicio + complemento;

        salida += palabras[i] + " ";

        }

        print(salida);

        }

      Tyler Valencia

      Tyler Valencia

      student•
      hace 3 años

      Me di cuenta que concatenar solo funciona si usas variables del mismo tipo, mientras que con la interpolación, puedes expresar cualquier tipo de variable

      Jonathan Macario

      Jonathan Macario

      student•
      hace 4 años

      ¿algún recurso donde encuentre que hace cada función para los String?

        Juan José López Torres

        Juan José López Torres

        student•
        hace 4 años

        Te puede servir https://www.tutorialspoint.com/dart_programming/dart_programming_string.htm

        Jonathan Macario

        Jonathan Macario

        student•
        hace 4 años

        Gracias JuanJo

      Emmanuel Rodríguez

      Emmanuel Rodríguez

      student•
      hace 3 años

      Texto ( String)

      ℹ️ Definición Los texto en Dart son una secuencia de unidades conocidas como caracteres.

      . Pueden ser representados mediante ‘’ o “” , y contener una expresión o adición de identificadores (${expression} , "Hello, $name 👋)

      var name = "Frank" var isUser = true; var greeting = 'Hello, $name 👋'; var message = ''' $greeting Your are ${ isUser ? 'Authorized' : 'Unauthorized' } ''';

      ✨Concepto clave La clase String define métodos para la manipulación de sus caracteres, por ejemplo split(), contains(), startsWith(), endsWith(), entre otros.

      .

      Expresiones Regulares (RegExp Objects)

      ℹ️ Definición Con las expresiones regulares podemos tanto realizar búsquedas en los strings como reemplazar alguna parte deseada.

      . Parecido a las capacidades de JavaScript, las expresiones regulares introspeccionan una búsqueda de un patrón sobre un string.

      var findNumbers_REGEX = RegExp(r'\d+'); String message = 'Hello, Frank 👋 Today is Sun 21 at 5PM'; print(message.replaceAll(findNumbers_REGEX, 'XX')); // Hello, Frank 👋 Today is Sun XX at XXPM for (final number in findNumbers_REGEX.allMatches(message)) { print(number.group(0)); // 21 5 }

      .

      Glosario de Métodos

      Busqueda en un string.

      Para encontrar posiciones en un string y revisar patrones patriculares

      String message = 'Nunca digas nunca'; print(message.contains('nunca'));// true print(message.startsWith('Nunca'));// true print(message.endsWith('nunca'));// true print(message.indexOf('nunca')); // 12

      Extracción de valores en un string.

      Para obtener caracteres individuales.

      String message = 'Nunca digas nunca'; print(message.substring(0,5));// Nunca print(message.split(' '));// true

      Conversión y formato.

      Para manipular el valor final de un string

      String message = ' HELLO 👋'; var greeting =message.trim().replaceAll(RegExp('HELLO'), 'Hi Frank'); print(greeting);// Hi Frank 👋 print(greeting.toUpperCase());// HI FRANK 👋

      .

      ❓ Debate ¿Sabes las buenas prácticas y recomendaciones de Dart como lenguaje? ¿Conoces el sitio "Effective Dart"?

      Johan Astudillo

      Johan Astudillo

      student•
      hace 3 años

      Esto es maravilloso, vengo de Java y Python y me Parece un Java demasiado sencillo de entender.

      Yury Jajitzky

      Yury Jajitzky

      student•
      hace 4 años

      En caso de declarar tu variable con comillas simples y usas comillas dobles para "acentuar" algo, no es necesario usar el backslash. Ejemplo:

      'this string contains 2 "double quotes" '; "this string contains 2 'single quotes' ";

      Fuente: Documentación de Dart

      Camilo Taborda

      Camilo Taborda

      student•
      hace 4 años

      Y bien, les dejo para que elijan una opción 👨🏽‍💻...

      String tipo; int option = 2; if(option==1){ tipo = "Concatenación"; }else{ tipo = "Interpolación"; } print("Que viva la ${tipo}!");

      Ahora bien, intenté hacer esto para capturar la opción elegida (antes del bloque if, else):

      print("Elije una opción entre 1 y 2"); int option = stdin.readLineSync();

      Pero en DartPad me salió un mensaje de error; no sé si es por que se deba importar algo como import 'dart:io' o algo así...

        RodNal CY

        RodNal CY

        student•
        hace 4 años

        Desafortunadamente, no puede usar bibliotecas de paquetes como dart:io, ya que DartPad solo admite bibliotecas que funcionan con aplicaciones web. (stackoverflow)

      Jonathan Macario

      Jonathan Macario

      student•
      hace 4 años

      Funciones, acciones que podemos realizarle a cualquier objeto dentro de un lenguaje de progra, "String" es un objeto que tiene funciones aplicables.

        Melvin Salas

        Melvin Salas

        teacher•
        hace 4 años

        Exacto :D Y en ocasiones también se les llama métodos

        Jonathan Macario

        Jonathan Macario

        student•
        hace 4 años

        según vi un curso fuera de aquí, método se le llaman a las funciones que están dentro de una clase, en este caso ¿el nombre "método" aplicaría?, ¿es "String" una clase?

      Kevin Garcia Herrera

      Kevin Garcia Herrera

      student•
      hace 2 años

      Jóvenes, alguien sabe donde se puede encontrar documentación de todas estas funciones predefinidas o reservadas (no se como se definen este tipo de funciones), estuve buscando en el website pero no encontré como un listado de funciones donde se explique para que sirve cada una :v

      Andrés Felipe Arango Rocha

      Andrés Felipe Arango Rocha

      student•
      hace 3 años

      Te reto a imprimir esto "$500" en consola ¿cómo lo harías?

        Santiago Blandon

        Santiago Blandon

        student•
        hace 3 años
        "\$500"
      Jesus Mendoza Guerrero

      Jesus Mendoza Guerrero

      student•
      hace 3 años

      // Sirve para comentar Linea /* */ Sirve para comentar un bloque o todo lo que se encuentre entre si \n Salto de Linea \t Tabulador "+" concatenar texto Ej: print("Hello "+name+" como estas"); "$" interpolar texto Ej:print("Hello $name"); "backslash" Sirve para meter caracteres especiales sin afectar el codigo Ej: print("Hello backslash"$name"\como te va"); PD: uso la palabra backslash en vez del simbolo porque la plataforma de platzi no lo muestra jeje PD2: si no sabes como usar el "backslash" puedes usar el codigo ascii que es :alt+92(Del teclado numerico).

      Luis esteban Cruz céspedes

      Luis esteban Cruz céspedes

      student•
      hace 3 años

      Practicando hice esto

      void main() { //ingresamos el nombre , variable letra String nombre = "luis esteban", letra; //Si ira en mayuscula bool mayuscula = true; //Bucle para descomponer el nombre, segun el tamaño del mismo for (int i = 0; i < nombre.length; i++) { //Estraemos la letra por cada recorrido letra = nombre.substring(i, i + 1); //Si sera mayuscula if (mayuscula) { print(letra.toUpperCase()); mayuscula = false; } else { //Si encontro el separador cambia mayuscula mayuscula = letra == " "; //imprime print(letra); } } } L u i s E s t e b a n

    Escuelas

    • Desarrollo Web
      • Fundamentos del Desarrollo Web Profesional
      • Diseño y Desarrollo Frontend
      • Desarrollo Frontend con JavaScript
      • Desarrollo Frontend con Vue.js
      • Desarrollo Frontend con Angular
      • Desarrollo Frontend con React.js
      • Desarrollo Backend con Node.js
      • Desarrollo Backend con Python
      • Desarrollo Backend con Java
      • Desarrollo Backend con PHP
      • Desarrollo Backend con Ruby
      • Bases de Datos para Web
      • Seguridad Web & API
      • Testing Automatizado y QA para Web
      • Arquitecturas Web Modernas y Escalabilidad
      • DevOps y Cloud para Desarrolladores Web
    • English Academy
      • Inglés Básico A1
      • Inglés Básico A2
      • Inglés Intermedio B1
      • Inglés Intermedio Alto B2
      • Inglés Avanzado C1
      • Inglés para Propósitos Específicos
      • Inglés de Negocios
    • Marketing Digital
      • Fundamentos de Marketing Digital
      • Marketing de Contenidos y Redacción Persuasiva
      • SEO y Posicionamiento Web
      • Social Media Marketing y Community Management
      • Publicidad Digital y Paid Media
      • Analítica Digital y Optimización (CRO)
      • Estrategia de Marketing y Growth
      • Marketing de Marca y Comunicación Estratégica
      • Marketing para E-commerce
      • Marketing B2B
      • Inteligencia Artificial Aplicada al Marketing
      • Automatización del Marketing
      • Marca Personal y Marketing Freelance
      • Ventas y Experiencia del Cliente
      • Creación de Contenido para Redes Sociales
    • Inteligencia Artificial y Data Science
      • Fundamentos de Data Science y AI
      • Análisis y Visualización de Datos
      • Machine Learning y Deep Learning
      • Data Engineer
      • Inteligencia Artificial para la Productividad
      • Desarrollo de Aplicaciones con IA
      • AI Software Engineer
    • Ciberseguridad
      • Fundamentos de Ciberseguridad
      • Hacking Ético y Pentesting (Red Team)
      • Análisis de Malware e Ingeniería Forense
      • Seguridad Defensiva y Cumplimiento (Blue Team)
      • Ciberseguridad Estratégica
    • Liderazgo y Habilidades Blandas
      • Fundamentos de Habilidades Profesionales
      • Liderazgo y Gestión de Equipos
      • Comunicación Avanzada y Oratoria
      • Negociación y Resolución de Conflictos
      • Inteligencia Emocional y Autogestión
      • Productividad y Herramientas Digitales
      • Gestión de Proyectos y Metodologías Ágiles
      • Desarrollo de Carrera y Marca Personal
      • Diversidad, Inclusión y Entorno Laboral Saludable
      • Filosofía y Estrategia para Líderes
    • Diseño de Producto y UX
      • Fundamentos de Diseño UX/UI
      • Investigación de Usuarios (UX Research)
      • Arquitectura de Información y Usabilidad
      • Diseño de Interfaces y Prototipado (UI Design)
      • Sistemas de Diseño y DesignOps
      • Redacción UX (UX Writing)
      • Creatividad e Innovación en Diseño
      • Diseño Accesible e Inclusivo
      • Diseño Asistido por Inteligencia Artificial
      • Gestión de Producto y Liderazgo en Diseño
      • Diseño de Interacciones Emergentes (VUI/VR)
      • Desarrollo Web para Diseñadores
      • Diseño y Prototipado No-Code
    • Contenido Audiovisual
      • Fundamentos de Producción Audiovisual
      • Producción de Video para Plataformas Digitales
      • Producción de Audio y Podcast
      • Fotografía y Diseño Gráfico para Contenido Digital
      • Motion Graphics y Animación
      • Contenido Interactivo y Realidad Aumentada
      • Estrategia, Marketing y Monetización de Contenidos
    • Desarrollo Móvil
      • Fundamentos de Desarrollo Móvil
      • Desarrollo Nativo Android con Kotlin
      • Desarrollo Nativo iOS con Swift
      • Desarrollo Multiplataforma con React Native
      • Desarrollo Multiplataforma con Flutter
      • Arquitectura y Patrones de Diseño Móvil
      • Integración de APIs y Persistencia Móvil
      • Testing y Despliegue en Móvil
      • Diseño UX/UI para Móviles
    • Diseño Gráfico y Arte Digital
      • Fundamentos del Diseño Gráfico y Digital
      • Diseño de Identidad Visual y Branding
      • Ilustración Digital y Arte Conceptual
      • Diseño Editorial y de Empaques
      • Motion Graphics y Animación 3D
      • Diseño Gráfico Asistido por Inteligencia Artificial
      • Creatividad e Innovación en Diseño
    • Programación
      • Fundamentos de Programación e Ingeniería de Software
      • Herramientas de IA para el trabajo
      • Matemáticas para Programación
      • Programación con Python
      • Programación con JavaScript
      • Programación con TypeScript
      • Programación Orientada a Objetos con Java
      • Desarrollo con C# y .NET
      • Programación con PHP
      • Programación con Go y Rust
      • Programación Móvil con Swift y Kotlin
      • Programación con C y C++
      • Administración Básica de Servidores Linux
    • Negocios
      • Fundamentos de Negocios y Emprendimiento
      • Estrategia y Crecimiento Empresarial
      • Finanzas Personales y Corporativas
      • Inversión en Mercados Financieros
      • Ventas, CRM y Experiencia del Cliente
      • Operaciones, Logística y E-commerce
      • Gestión de Proyectos y Metodologías Ágiles
      • Aspectos Legales y Cumplimiento
      • Habilidades Directivas y Crecimiento Profesional
      • Diversidad e Inclusión en el Entorno Laboral
      • Herramientas Digitales y Automatización para Negocios
    • Blockchain y Web3
      • Fundamentos de Blockchain y Web3
      • Desarrollo de Smart Contracts y dApps
      • Finanzas Descentralizadas (DeFi)
      • NFTs y Economía de Creadores
      • Seguridad Blockchain
      • Ecosistemas Blockchain Alternativos (No-EVM)
      • Producto, Marketing y Legal en Web3
    • Recursos Humanos
      • Fundamentos y Cultura Organizacional en RRHH
      • Atracción y Selección de Talento
      • Cultura y Employee Experience
      • Gestión y Desarrollo de Talento
      • Desarrollo y Evaluación de Liderazgo
      • Diversidad, Equidad e Inclusión
      • AI y Automatización en Recursos Humanos
      • Tecnología y Automatización en RRHH
    • Finanzas e Inversiones
      • Fundamentos de Finanzas Personales y Corporativas
      • Análisis y Valoración Financiera
      • Inversión y Mercados de Capitales
      • Finanzas Descentralizadas (DeFi) y Criptoactivos
      • Finanzas y Estrategia para Startups
      • Inteligencia Artificial Aplicada a Finanzas
      • Domina Excel
      • Financial Analyst
      • Conseguir trabajo en Finanzas e Inversiones
    • Startups
      • Fundamentos y Validación de Ideas
      • Estrategia de Negocio y Product-Market Fit
      • Desarrollo de Producto y Operaciones Lean
      • Finanzas, Legal y Fundraising
      • Marketing, Ventas y Growth para Startups
      • Cultura, Talento y Liderazgo
      • Finanzas y Operaciones en Ecommerce
      • Startups Web3 y Blockchain
      • Startups con Impacto Social
      • Expansión y Ecosistema Startup
    • Cloud Computing y DevOps
      • Fundamentos de Cloud y DevOps
      • Administración de Servidores Linux
      • Contenerización y Orquestación
      • Infraestructura como Código (IaC) y CI/CD
      • Amazon Web Services
      • Microsoft Azure
      • Serverless y Observabilidad
      • Certificaciones Cloud (Preparación)
      • Plataforma Cloud GCP

    Platzi y comunidad

    • Platzi Business
    • Live Classes
    • Lanzamientos
    • Executive Program
    • Trabaja con nosotros
    • Podcast

    Recursos

    • Manual de Marca

    Soporte

    • Preguntas Frecuentes
    • Contáctanos

    Legal

    • Términos y Condiciones
    • Privacidad
    • Tyc promociones
    Reconocimientos
    Reconocimientos
    Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
    Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
    Logo reconocimientoPrimera Startup EdTech · 2018
    Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
    Logo reconocimientoCEO Mejor Emprendedor del año · 2024
    De LATAM conpara el mundo
    YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads