Подтвердить что ты не робот

Удалить пробелы из строки в VB.NET

Как удалить пробелы из строки в VB.NET?

4b9b3361

Ответ 1

2015: новые LINQ и lambda.

  • Так как это старый Q (и ответ), просто подумайте о его обновлении новых методов 2015 года.
  • Исходное "пространство" может относиться к непространственным пробелам (т.е. tab, newline, разделитель абзацев, линия, возврат каретки и т.д. и т.д.).
  • Кроме того, Trim() удаляет только пробелы из передней/задней части строки, она не удаляет пробелы внутри строки; например: "Leading and Trailing Spaces" станет "Leading and Trailing Spaces", но пробелы внутри все еще присутствуют.

Function RemoveWhitespace(fullString As String) As String
    Return New String(fullString.Where(Function(x) Not Char.IsWhiteSpace(x)).ToArray())
End Function

Это удалит ВСЕ (белое) -пространство, ведущее, завершающее и внутри строки.

Ответ 2

Чтобы удалить ВСЕ пробелы:

 myString = myString.Replace(" ", "")

Чтобы удалить начальное и конечное пространства:

myString = myString.Trim()

Примечание. Это исключает любое свободное пространство, поэтому строки новой строки, вкладки и т.д. будут удалены.

Ответ 3

Чтобы обрезать строку, чтобы она не содержала двух или более пробелов в строке. Каждый экземпляр 2 или более места будет обрезаться до 1 пробела. Простое решение:

While ImageText1.Contains("  ")                     '2 spaces.
    ImageText1 = ImageText1.Replace("  ", " ")      'Replace with 1 space.
End While

Ответ 4

"Пробелы" в исходном сообщении могут ссылаться на пробелы, и пока нет ответа, как удалить ВСЕ whitespace из строки. Для этого регулярные выражения являются наиболее гибким подходом, который я нашел.

Ниже приведено консольное приложение, в котором вы можете увидеть разницу между заменой просто пробелов или всех пробелов.

Вы можете найти больше о регулярных выражениях .NET в http://msdn.microsoft.com/en-us/library/hs600312.aspx и http://msdn.microsoft.com/en-us/library/az24scfc.aspx

Imports System.Text.RegularExpressions
Module TestRegExp
    Sub Main()
        ' Use to match all whitespace (note the lowercase s matters)
        Dim regWhitespace As New Regex("\s")

        ' Use to match space characters only
        Dim regSpace As New Regex(" ")

        Dim testString As String = "First Line" + vbCrLf + _
        "Second line followed by 2 tabs" + vbTab + vbTab + _
        "End of tabs"

        Console.WriteLine("Test string :")
        Console.WriteLine(testString)

        Console.WriteLine("Replace all whitespace :")
        ' This prints the string on one line with no spacing at all
        Console.WriteLine(regWhitespace.Replace(testString, String.Empty))

        Console.WriteLine("Replace all spaces :")
        ' This removes spaces, but retains the tabs and new lines
        Console.WriteLine(regSpace.Replace(testString, String.Empty))

        Console.WriteLine("Press any key to finish")
        Console.ReadKey()
    End Sub
End Module

Ответ 5

Вы также можете использовать небольшую функцию, которая будет циклически проходить и удалять любые пробелы.

Это очень просто и чисто.

Public Shared Function RemoveXtraSpaces(strVal As String) As String
     Dim iCount As Integer = 1
     Dim sTempstrVal As String

     sTempstrVal = ""

     For iCount = 1 To Len(strVal)
        sTempstrVal = sTempstrVal + Mid(strVal, iCount, 1).Trim
     Next

     RemoveXtraSpaces = sTempstrVal

     Return RemoveXtraSpaces

End Function

Ответ 6

Это удалит только пробелы, соответствует функциональности SQL rtrim (ltrim (myString))

Dim charstotrim() As Char = {" "c}
myString = myString .Trim(charstotrim) 

Ответ 7

Как насчет решения Regex.Replace?

myStr = Regex.Replace(myStr, "\s", "")

Ответ 8

Попробуйте использовать этот код для trim a String

Public Function AllTrim(ByVal GeVar As String) As String
    Dim i As Integer
    Dim e As Integer
    Dim NewStr As String = ""
    e = Len(GeVar)
    For i = 1 To e
        If Mid(GeVar, i, 1) <> " " Then
            NewStr = NewStr + Mid(GeVar, i, 1)
        End If
    Next i
    AllTrim = NewStr
    ' MsgBox("alltrim = " & NewStr)
End Function