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 ^^
'++++++++++++ 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
6 Kommentare zum Snippet