Dividir y unir
Parte de la sección Lógica y flujo del Journey de GDScript de Coddy. Lección 4 de 78.
Ya has dividido cadenas con split() y unido arreglos con join(). Ambas pueden hacer más.
Los elementos de split() son cadenas, exactamente como aparecen entre los separadores, incluidos los espacios. Limpia o convierte cada elemento antes de usarlo. Puedes reemplazar un elemento del resultado mediante su índice:
var items := "sword, shield ,bow".split(",")
print(items)
for i in range(items.size()):
items[i] = items[i].strip_edges()
print(items)["sword", " shield ", "bow"]
["sword", "shield", "bow"]El segundo argumento de split() es el que conociste antes: true conserva las partes vacías, false las descarta. Un tercer argumento limita el número de cortes. split(" ", true, 1) corta solo en el primer espacio, que separa un comando del resto de la línea:
print("say hello there".split(" ", true, 1))["say", "hello there"]rsplit() funciona de la misma manera, pero cuenta los cortes desde la derecha, así que puede cortar en el último punto de un nombre de archivo:
print("save.backup.json".rsplit(".", true, 1))["save.backup", "json"]join() también acepta un array de números y convierte cada uno en texto: ", ".join([3, 1, 2]) es "3, 1, 2".
Desafío
FácilEl programa lee una línea de palabras separadas por comas en line. Puede haber espacios alrededor de las palabras, por ejemplo red, green ,blue.
Imprime tres líneas:
- El número de palabras
- Las palabras sin los espacios alrededor, en mayúsculas, unidas con
>(espacio, signo mayor que, espacio) - La palabra más larga, sin espacios. Si varias palabras tienen la misma longitud, imprime la primera
Para la entrada red, green ,blue, la salida es:
3
RED > GREEN > BLUE
greenPruébalo tú mismo
extends Node
func _ready():
var line := OS.read_string_from_stdin()
# Imprime la cantidad, las palabras unidas y la palabra más larga
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Lógica y flujo
1Cadenas de texto en profundidad
Métodos de cadenasBúsqueda en cadenasReemplazar y eliminar espaciosDividir y unirRepaso - Comprobación del nombre de usuario4Diccionarios, parte 2
Diccionarios anidadosArrays de diccionariosCombinar diccionariosCopiar diccionariosRepaso: contador de frecuencias7Enumeraciones
¿Qué es una enumeración?Definir una enumeraciónValores de una enumeraciónEnumeraciones en matchRepaso: semáforo10Funciones avanzadas
Devolver múltiples valoresFunciones lambda, parte 1Funciones lambda, parte 2Repaso: ordenar con lambdaFunciones recursivas, parte 1Funciones recursivas, parte 2Repaso: sumar un array anidado13Sistema de gestión de inventario
Descripción general del proyectoAñadir artículo2Toma de decisiones avanzada
Coincidencia con variablesGuardas de coincidenciaPatrones de arraysPatrones de diccionariosComprobaciones de pertenenciaRepaso: analizador de comandos5Aplicación de agenda de contactos
Mostrar menúAñadir contacto8Gestor de expedientes estudiantiles
Descripción del proyectoAgregar estudiante3Arrays multidimensionales
Conceptos básicos de arrays 2DAcceso a elementos de arrays 2DBucles anidados con arrays 2DRepaso: arrays 2DArrays irregularesPatrones comunes de arrays 2DRepaso: tablero de juego6Conjuntos con diccionarios
¿Qué es un conjunto?El diccionario como conjuntoAñadir y eliminarUnión e intersecciónDiferencia de conjuntosRepaso: eliminar duplicados9Agregación avanzada de datos
Suma de valoresCómo encontrar el mínimo y el máximoOrdenación personalizadaRepaso: organizador de diccionariosPractica por tu cuenta: Compilador de GDScript online