VB.NET letztes Zeichen aus String entfernen
Inhaltsverzeichnis
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 Join–Methode 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 „finalString“ in 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