Feedback

VB - String Splitten

Veröffentlicht von am 07.04.2008
(3 Bewertungen)
String Komfortabel Splitten
oder
Was MS einfacher hätte machen können '''vergessen hat

Splittet einen Sting KOMFORTABEL mit einem anderen String
z.B. (br)

Danke an Tim Hartwig und Pirmin (siehe Kommentare), da ich nicht wusste, das es eine zwar umständliche Möglichkeit gibt, aber es gibt sie.

Ich habe die MS-Methode ebenfalls eingetragen.
Nun kann man eben wählen ;)

Anmerkung:
Ich habe zwar mit .net 1.1 angefangen, aber erinnere mich NICHT,
ob es sowas schon gab.
Wenn es jemandem dort hilft, bitte gern geschehen ^^
GFU-Schulungen  [Anzeige]

Visual Studio Team Foundation Server 2017/2015 (TFS) für Administratoren - Kompakt

Nach dieser Schulung beherrschen Sie die Grundlagen des TFS. Sie erledigen administrative Aufgaben schnell und sicher.

C# Komplett

Sie kennen sich in objektorientierter Programmierung aus. Sie schreiben C++ oder Java? Und nun stehen Sie vor der Aufgabe, in C# Anwendungen zu erstellen. Das C# Komplett-Seminar verschafft Ihnen umfassende Programmierkenntnisse in dieser Sprache. Nach der Schulung entwickeln Sie selbständig Anwendungen mit C#. Sie kennen die Datentypen und Klassenbibliotheken der objektorientierten Programmiersprache C#. Der Komplettkurs setzt bei den Grundlagen von C# ein. Sie arbeiten mit Variablen und konvertieren Typen. Multithreading, Delegates, Generics sind nach dem Seminar für Sie kein Geheimnis mehr.

'++++++++++++ MS-Version ++++++++++++
'danke an Pirmin für das C# Beispiel ;)

        Dim ar() As String
        Dim Str As String = "Franz<br>jagt im<br>völlig verwahrlosten<br>Taxi..."
        Dim spltstr() As String = {"<br>"}
        ar = Str.Split(spltstr, StringSplitOptions.None)


'++++++++++++ meine-Version ++++++++++++
'############### Aufruf ################
        Dim Str As String = "Franz<br>jagt im<br>völlig verwahrlosten<br>Taxi..."
        Dim ar() As String
        ar = clsMySnippets.StringSplit(Str, "<br>")
'#######################################

    ''' <summary>
    ''' Splittet einen String an der angegebenen Zeichenfolge,
    ''' ähnlich wie "Replace"
    ''' </summary>
    ''' <param name="StrToSplt">
    ''' Der zu Splitendene String
    ''' </param>
    ''' <param name="SplitString">
    ''' Der String, an dem gesplitet werden soll
    ''' Dies kann ein Zeichen ";"
    ''' oder ein ganzer string sein "(br)"
    ''' </param>
    Public Function StringSplit(ByVal StrToSplt As String, ByVal SplitString As String) As String()
        'Ein Array mit den Dezimalen werten von NICHT druckbaren Zeichen
        'Sollten eigentlich nicht in einem String vorkommen,
        'aber sie KÖNNTEN ES! Deshalb alternativauswahlen ;)
        Dim SplitTemp() As Integer = {7, 1, 23}
        'Der ausgewählte ASCII Char,
        'bei -1 enthielt der Text alle nicht druckbaren Zeichen
        Dim selectedASCII As Integer = -1
        'das Rückgabe Array
        Dim arStr() As String

        'Prüfen, ob der String NICHTDRUCKBARE ZEichen enthält und wähle das erste, dass NICHT entalten ist
        For i As Integer = 0 To SplitTemp.Length - 1
            If Not StrToSplt.Contains(SplitTemp(i)) Then
                selectedASCII = SplitTemp(i)
                Exit For
            End If
        Next

        'wenn ein nicht vorkommendes Zeichen gefunden wurde,
        'ersetzte den SplitString mit diesem zeichen und splitte es
        If selectedASCII >= 0 Then
            StrToSplt = StrToSplt.Replace(SplitString, ChrW(selectedASCII))
            arStr = StrToSplt.Split(ChrW(selectedASCII))
        Else
            arStr = StrToSplt.Split("")
        End If

        Return arStr
    End Function
Abgelegt unter String, Split, Splitten, String Splitten.

6 Kommentare zum Snippet

Tim Hartwig schrieb am 07.04.2008:
Und was hat MS vergessen? Deine Funktion ist vollkommen überflüssig.
General Bison schrieb am 08.04.2008:
In diesemfall bin ich einfach zu d00f um ausm Busch zu winken :P
und bitte um erleuchtung (am besten mit einem snippet;)

Hm... TROTZDEM habe ich hier mehr Punkte bekommen, als mit anderen Snippets, die definitiv NICHT schon im VS drinnen sind....
Pirmin schrieb am 08.04.2008:
Hallo Bison
Vielleicht hättest du noch erwähnen sollen, dass deine Funktion in den alten .NET-Versionen nicht vorhanden ist. Ab .NET-Version 2.0 geht nähmlich folgendes.

string str = "Franz<br>jagt im<br>völlig verwahrlosten<br>Taxi...";
string[] ar = str.Split(new string[] { "<br>" }, StringSplitOptions.None);

Ich hab hier nur C# eingefügt, weil ich die VB-Syntax nicht kenne. Aber mit VB.NET müsste es sicher eine Entsprechung geben.
Pirmin schrieb am 08.04.2008:
Hab vorher noch den Link vergessen: http://msdn2.microsoft.com/de-de/library/tabh47cf(VS.80).aspx
Tim Hartwig schrieb am 08.04.2008:
Tja da dachte wohl Jemand das der Snippet gut sei weil diese Person wirklich dachte diese Funktion gibt es noch nicht. 9 Punkte für eine nachgebaute Funktion die es im Framework 2.0 schon gibt. :X
General Bison schrieb am 09.04.2008:
Aber das zeigt nur, dass ich nicht der einzige binn, der das mit dem Array nicht verstanden/gesehen hat.
Und überhaupt hätte MS ruig eine EINFACHE Stringübergabe machen können.
Ein SIMPLER String....
Wär ja wohl nicht zuvielverlangt gewesen :P
 

Logge dich ein, um hier zu kommentieren!