> Faqs > Quitar saltos de línea en un TXT en Visual Basic

Quitar saltos de línea en un TXT en Visual Basic

Me puede indicar alguien hago en Visual Basic una sentencia para quitar saltos de linea de un archivo txt

Respuestas

En Visual Basic (como en VB.NET), el proceso para eliminar los saltos de línea de una cadena es bastante sencillo.

Para eliminar los saltos de línea en VB.NET, también puedes utilizar la función Replace(). Es común utilizar Environment.NewLine para representar de manera genérica un salto de línea en el sistema operativo donde se ejecuta el programa, lo cual hace que el código sea más portable entre diferentes sistemas operativos.

Dim originalString As String
Dim cleanedString As String

' Ejemplo de una cadena con saltos de línea
originalString = "Este es un texto" & Environment.NewLine & "que contiene" & Environment.NewLine & "varios saltos de línea."

' Eliminando los saltos de línea
cleanedString = originalString.Replace(Environment.NewLine, "")

' Si deseas también cubrir explícitamente otros tipos de saltos de línea:
cleanedString = cleanedString.Replace(vbCr, "")   ' Carriage Return
cleanedString = cleanedString.Replace(vbLf, "")   ' Line Feed

' Mostrar el resultado
Console.WriteLine(cleanedString)

En este ejemplo:

  • Environment.NewLine se utiliza para abordar el salto de línea típico del sistema operativo donde se ejecuta el código.
  • Replace() es un método que pertenece a las cadenas de caracteres en VB.NET y se utiliza para crear una nueva cadena modificada en lugar de cambiar la original.

Esta es la manera estándar y más eficiente de manejar la eliminación de saltos de línea en VB.NET, manteniendo la portabilidad y la eficiencia del código.

Alternativa más sencilla de quitar los saltos de línea en Visual Basic

Si quieres una alternativa más simple con esta funcion reemplazas por un espacio en blanco los retorno de carro chr(10) y los enter chr(13)

replace(replace(tutxt,chr(10), " "),chr(13), " ")
David Martinez

Si alguien quiere el código en Visual Basic Script (VBS)...

En VBS, los saltos de línea suelen representarse con vbCrLf (retorno de carro y avance de línea), vbCr (solo retorno de carro) o vbLf (solo avance de línea). Tendrías que eliminar todo eso.

Dim originalString As String
Dim cleanedString As String

originalString = "Este es un texto" & vbCrLf & "que contiene" & vbCrLf & "varios saltos de línea."

cleanedString = Replace(originalString, vbCrLf, "")  ' Elimina los saltos de carro y línea
cleanedString = Replace(cleanedString, vbCr, "")     ' Elimina los retornos de carro adicionales si los hay
cleanedString = Replace(cleanedString, vbLf, "")     ' Elimina los avances de línea adicionales si los hay

WScript.Echo cleanedString
Rosa Gutierrez