Comunidad Gambas-es
Array sin elementos vacios - Versión para impresión

+- Comunidad Gambas-es (https://gambas-es.org)
+-- Foro: Gambas (https://gambas-es.org/forum-3.html)
+--- Foro: Aplicaciones/Fragmentos de Código (https://gambas-es.org/forum-8.html)
+--- Tema: Array sin elementos vacios (/thread-1708.html)



Array sin elementos vacios - tincho - 22-06-2024

Hola
Alguien sabe si existe una manera nativa para eliminar los elementos vacios de un array de texto. Por ejemplo:
[code]

Hay alguna forma de hacer algo como:
[code]
y que luego quede:
[code]

Saludos.


RE: Array sin elementos vacios - vuott - 22-06-2024

Hola tincho,
no parece existir un modo "nativo": tendrás que utilizar un algoritmo.

...solo por ejemplo:
Código:
Public Sub Main()

  Dim aNombres As String[] = ["Arquímedes", "", "Cai Lun", "", "Leonardo da Vinci", "", "Galileo Galilei", "Isaac Newton", "Blaise Pascal", ""]
  Dim i As Integer

  While i < aNombres.Count
    If aNombres[i] = Null Then aNombres.Remove(i)
    Inc i
  Wend
 
' Vamos a ver...
  For Each s As String In aNombres
    Print s
  Next
 
End
[/i]


RE: Array sin elementos vacios - Shordi - 23-06-2024

En una sola línea tienes:
Código:
[code]



RE: Array sin elementos vacios - vuott - 23-06-2024

...muy buena solución (que he modificado un poco) propuesta por BB en Mailing List:
Código:
Public Sub Main()

  Dim myarray As String[] = ["Arquímedes", "", "Cai Lun", "", "Leonardo da Vinci", "", "Galileo Galilei", "Isaac Newton", "Blaise Pascal", ""]

  For idx As Integer = myarray.max DownTo 0
    If myarray[idx] = Null Then myarray.Remove(idx)
  Next

  For Each s As String In myarray
    Print s
  Next

End