VB.NET letztes Zeichen aus String entfernen

VB.NET letztes Zeichen aus String entfernen
VB.NET letztes Zeichen aus String entfernen

VB.NET letztes Zeichen aus String entfernen

Du stehst vor der Aufgabe, das letzte Zeichen aus einem String zu entfernen und bist mit der Google-Suche: „VB.NET letztes Zeichen aus String entfernen“ hier her gekommen!?

In meinem kleinen Beitrag zeige ich Dir eine, bzw. mehrere Lösungen zu deinem recherchierten Problem.

Eventuell ist der Beitrag, um ein Zeichen am Anfang des Strings zu entfernen auch für Dich von Interesse.

Verschiedene Lösungsansätze

Ich stelle Dir verschiedene Lösungsansätze durch meine Beispiele vor.

Vor allem Anfänger stoßen auf verschiedene Varianten das Problem anzugehen.

Suche Dir einfach das für Dich passende Beispiel aus, sprich Welches für Dich einfach nachzuvollziehen und anzuwenden ist.

Code – VB.NET letztes Zeichen aus String entfernen

In dem folgenden Abschnitt findest Du die jeweiligen Codes zu den Beispielen:

Die einfachste Variante – via Substring

Die wohl gängigste und einfachste Variante ist, die Hilfs-Methode der String Klasse namens Substring zu verwenden.

Private Sub BySubstring()
    Dim text = "Hello World"
    Dim finalString = text.Substring(0, text.Length - 1)
    Debug.WriteLine(finalString)
End Sub

Eine intuitive Variante – via Take und Join

Wer sich ohne Code erstmal Gedanken für einen möglichen Algorithmus macht, hat vermutlich solche Gedanken:

„Okay, also um das letzte Zeichen aus dem String zu entfernen, muss ich ja eigentlich nur..“

  • Nimm den String
  • Nimm alle Zeichen bis auf das Letzte

Wir benötigen einmal die Take– und dann noch die String.Join-Methode, um ebendiesen Algorithmus umzusetzen.

Nachdem der String in der ersten Zeile testweise festgelegt wurde, gehen wir in der folgenden Zeile hin und nehmen uns alle Zeichen bis auf das Letzte.

In der dritten Zeile erstellen wir den letztendlichen String, indem wir die JoinMethode der String Klasse verwenden.

Sie verbindet alle vorkommen in der Auflistung namens „allCharactersWithoutLast“ mit Hilfe des Trennzeichens.

Private Sub ByListAndStringHelper()
    Dim text = "Hello World"
    Dim allCharactersWithoutLast = text.Take(text.Length - 1)
    Dim finalString = String.Join("", allCharactersWithoutLast)
    Debug.WriteLine(finalString)
End Sub

Eine weitere gängige Variante – via Schleife

Analog zu unserer obigen Vorgehensweise – mit unserem Algorithmus – verwenden wir jedoch in diesem Beispiel eine Schleife.

Hier legen wir den String ebenfalls in der ersten Zeile fest und deklarieren und initialisieren wir einen weiteren String, um Diesen aus der Schleife heraus zu füllen.

Mit Hilfe der Schleife, beginnen wir ganz normal bei Index 0 und danach iterieren wir bis ein Zeichen vor dem Schluss durch.

Anschließend erweitern wir den „finalStringin jedem Schleifendurchlauf um das aktuelle Zeichen.

Private Sub ByArrayLoopAndIndexStringHelper()
    Dim text = "Hello World"
    Dim finalString = ""
    For i = 1 To text.Length - 2
        finalString &= text(i)
        ' finalString = finalString.Append(text(i))
        ' finalString = finalString & text(i)
    Next
    Debug.WriteLine(finalString)
End Sub

Zusätzlich findest Du im Beispiel noch 2 auskommentierte Möglichkeiten, um den String um das jeweilige Zeichen zu erweitern.

Als Erweiterungsmethode

Du könntest den Code natürlich auch wiederverwendbar in einer Erweiterungsmethode platzieren:

Imports System.Runtime.CompilerServices

Module StringExtensions

    <Extension()>
    Public Function RemoveLastLetter(text As String) As String
        Dim finalString = text.Substring(0, text.Length - 1)
        Return finalString
    End Function

End Module

Kompletter Code – VB.NET letztes Zeichen aus String entfernen

Public Class Form1

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        BySubstring()
        ByListAndStringHelper()
        ByArrayLoopAndIndexStringHelper()
    End Sub

    Private Sub BySubstring()
        Dim text = "Hello World"
        Dim finalString = text.Substring(0, text.Length - 1)
        Debug.WriteLine(finalString)
    End Sub

    Private Sub ByListAndStringHelper()
        Dim text = "Hello World"
        Dim allCharactersWithoutLast = text.Take(text.Length - 1)
        Dim finalString = String.Join("", allCharactersWithoutLast)
        Debug.WriteLine(finalString)
    End Sub

    Private Sub ByArrayLoopAndIndexStringHelper()
        Dim text = "Hello World"
        Dim finalString = ""
        For i = 0 To text.Length - 2
            finalString &= text(i)
            ' finalString = finalString.Append(text(i))
            ' finalString = finalString & text(i)
        Next
        Debug.WriteLine(finalString)
    End Sub

End Class
Imports System.Runtime.CompilerServices

Module StringExtensions

    <Extension()>
    Public Function RemoveLastLetter(text As String) As String
        Dim finalString = text.Substring(0, text.Length - 1)
        Return finalString
    End Function

End Module

Downloads

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.