From 20d599a7cd4597730949469cfc21b12056826aad Mon Sep 17 00:00:00 2001 From: allbertoMD Date: Sat, 11 May 2024 12:21:34 +0200 Subject: [PATCH] #11-Swift --- .../swift/allbertoMD.swift" | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 "Retos/Reto #11 - URL PARAMS [F\303\241cil]/swift/allbertoMD.swift" diff --git "a/Retos/Reto #11 - URL PARAMS [F\303\241cil]/swift/allbertoMD.swift" "b/Retos/Reto #11 - URL PARAMS [F\303\241cil]/swift/allbertoMD.swift" new file mode 100644 index 0000000000..cd11363886 --- /dev/null +++ "b/Retos/Reto #11 - URL PARAMS [F\303\241cil]/swift/allbertoMD.swift" @@ -0,0 +1,42 @@ +import Foundation + +let url = "https://retosdeprogramacion.com?year=2023&challenge=0" +//var parameters: [Int] = [] + + +func extractParameters(from url: String) -> [Int] { + var parameters: [Int] = [] + var currentNumberString = "" + + for char in url { + // Verificamos si el caracter es un dígito numérico + if char.isNumber { + // Si es un dígito, lo agregamos al string temporal + currentNumberString.append(char) + } else { + // Si el caracter no es un dígito, verificamos si hay un número en el string temporal + if !currentNumberString.isEmpty { + // Si hay un número en el string temporal, lo convertimos a entero y lo agregamos al array + if let number = Int(currentNumberString) { + parameters.append(number) + } + // Reiniciamos el string temporal para el próximo número + currentNumberString = "" + } + } + } + + // Verificamos si hay un número pendiente en el string temporal + if !currentNumberString.isEmpty { + // Si hay un número pendiente, lo convertimos a entero y lo agregamos al array + if let number = Int(currentNumberString) { + parameters.append(number) + } + } + + return parameters +} + +let numbers = extractParameters(from: url) +print("Números encontrados en la URL:", numbers) +