VB.NET erstes Zeichen aus String entfernen
Inhaltsverzeichnis
VB.NET erstes Zeichen aus String entfernen
Du stehst vor der Problematik, das erste Zeichen aus einem String zu entfernen und bist mit der Google-Suche: „VB.NET erstes Zeichen aus String entfernen“ hier her gekommen!?
Ich zeige Dir in meinem kleinen Beitrag eine, bzw. mehrere Lösungen zu deinem recherchierten Problem.
Eventuell ist der Beitrag, um ein Zeichen am Ende des Strings zu entfernen auch für Dich von Interesse.
Mehrere Lösungsansätze
Ich versuche Dir mit meinen Beispielen verschiedene Lösungsansätze darzustellen.
Viele Anfänger stoßen auf komplizierte, aber auf einfache Ansätze das Problem anzugehen.
Suche Dir einfach das Beispiel aus, was für Dich am einfachsten nachzuvollziehen und anzuwenden ist.
Code – VB.NET erstes Zeichen aus String entfernen
In dem folgenden Abschnitt findest Du die jeweiligen Codes zu den Beispielen:
Die einfachste Variante – via Substring
Die wohl einfachste Variante ist, die Hilfs-Methode der String Klasse namens Substring zu verwenden.
Private Sub BySubstring() Dim text = "Hello World" Dim finalString = text.Substring(1) Debug.WriteLine(finalString) End Sub
Eine intuitive Variante – via Skip und Join
Wer sich einen Algorithmus für unser genanntes Problem überlegt, denkt vermutlich erstmal völlig ohne Code an Folgendes:
„Okay, also um das erste Zeichen aus dem String zu entfernen, muss ich ja eigentlich das tun..“
- Nimm den String
- Überspringe das erste Zeichen
- Nehme den Rest
Wir benötigen einmal die Skip– 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 überspringen das erste Zeichen.
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 „allCharactersWithoutFirst“ mit Hilfe des Trennzeichens.
Private Sub ByListAndStringHelper() Dim text = "Hello World" Dim allCharactersWithoutFirst = text.Skip(1) Dim finalString = String.Join("", allCharactersWithoutFirst) Debug.WriteLine(finalString) End Sub
Eine weitere gängige Variante – via Schleife
Auch hier ist die Vorgehensweise analog zu unserem oben ausgedachten Algorithmus, jedoch verwenden wir in diesem Fall eine Schleife dazu.
Nachdem wir auch hier den String in der ersten Zeile festgelegt haben, deklarieren und initialisieren wir einen weiteren String, um Diesen aus der Schleife heraus zu füllen.
Mit Hilfe der Schleife, beginnen wir erst bei Index 1, dadurch überspringen wir dann das erste Zeichen.
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 - 1 finalString &= text(i) ' finalString = finalString.Append(text(i)) ' finalString = finalString & text(i) Next Debug.WriteLine(finalString) End Sub
Ich habe zusätzlich noch zwei alternative Varianten hinzugefügt und auskommentiert, um den String um das jeweilige Zeichen zu erweitern.
Als Erweiterungsmethode
Wer das Ganze in einer Erweiterungsmethode platzieren möchte, könnte das eventuell so machen:
Imports System.Runtime.CompilerServices Module StringExtensions <Extension()> Public Function RemoveFirstLetter(text As String) As String Dim finalString = text.Substring(1) Return finalString End Function End Module
Kompletter Code – VB.NET erstes 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(1) Debug.WriteLine(finalString) End Sub Private Sub ByListAndStringHelper() Dim text = "Hello World" Dim allCharactersWithoutFirst = text.Skip(1) Dim finalString = String.Join("", allCharactersWithoutFirst) Debug.WriteLine(finalString) End Sub Private Sub ByArrayLoopAndIndexStringHelper() Dim text = "Hello World" Dim finalString = "" For i = 1 To text.Length - 1 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 RemoveFirstLetter(text As String) As String Dim finalString = text.Substring(1) Return finalString End Function End Module