Dart:
Extrayendo subcadenas

Cómo hacerlo:

En Dart, puedes usar varios métodos para extraer subcadenas, como substring(), split() y expresiones regulares. Cada método sirve para diferentes propósitos y ofrece flexibilidad en el manejo de cadenas.

Usando substring():

El método substring() es sencillo. Especificas el índice de inicio (y opcionalmente, el final) para cortar la cadena.

void main() {
  String ejemplo = "¡Hola, Mundo!";
  String resultado = ejemplo.substring(7, 12);
  print(resultado); // Salida: Mundo
}

Usando split():

Divide una cadena en una lista de subcadenas basadas en un patrón (como un espacio o coma), y luego accede a la subcadena por índice.

void main() {
  String ejemplo = "Dart es divertido";
  List<String> partes = ejemplo.split(' ');
  String resultado = partes[1]; // Acceso por índice
  print(resultado); // Salida: es
}

Usando Expresiones Regulares:

Para patrones complejos, la clase RegExp de Dart es poderosa. Úsala para coincidir con patrones y extraer subcadenas.

void main() {
  String ejemplo = "Correo: [email protected]";
  RegExp regExp = RegExp(r"\b\w+@\w+\.\w+\b");
  String correo = regExp.stringMatch(ejemplo)!;
  print(correo); // Salida: [email protected]
}

Bibliotecas de Terceros:

Aunque la biblioteca estándar de Dart es bastante capaz, podrías encontrar escenarios donde una biblioteca de terceros podría simplificar tu tarea. Una elección popular para la manipulación de cadenas y coincidencia de patrones no se recomienda específicamente aquí, ya que las capacidades integradas de Dart a menudo son suficientes. Sin embargo, siempre verifica en pub.dev para cualquier biblioteca que pueda adaptarse mejor a tus necesidades específicas.