tincho   22-06-2024, 22:03
#1
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.

1 Saludo.
vuott   22-06-2024, 23:46
#2
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]
Última modificación: 23-06-2024, 14:22 por vuott.

« Los horizontes perdidos nunca regresan. » (F. Battiato, 1983)

« Las ondas nunca regresan. » (Genesis: Ripples, 1976)

« Vita non suavis esse potest, nec Mors amara. »  (...vuott)
Shordi   23-06-2024, 10:21
#3
En una sola línea tienes:
Código:
[code]
Última modificación: 23-06-2024, 10:21 por Shordi.

No podemos regresar
vuott   23-06-2024, 14:09
#4
...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

« Los horizontes perdidos nunca regresan. » (F. Battiato, 1983)

« Las ondas nunca regresan. » (Genesis: Ripples, 1976)

« Vita non suavis esse potest, nec Mors amara. »  (...vuott)
  
Usuarios navegando en este tema: 4 invitado(s)
Powered By MyBB, © 2002-2024 MyBB Group.
Made with by Curves UI.