vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Splitten bei Lehrzeichen auser in "" 
Autor: Toolmaster
Datum: 01.11.12 10:36

Hallo leute,

ich splitte einen String bei jedem Lehrzeichen. Das ist ja auch kein Problem. Nur soll text der in "" steht nicht gesplittet werden.
Wie kann ich das machen?

Grüße Georg
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Splitten bei Lehrzeichen auser in "" 
Autor: DotNetErbse
Datum: 01.11.12 11:32

Hi Georg,

vielleicht nicht perfekt, aber es tut, was es soll...
(OK, der Code hat noch Fehler, aber so oder so gehts, ist nur ne Anregung...")

Public Class Form1
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles Button1.Click
 
        Dim txt As String = "das ist der text " & Chr(34) & "Text in" & _
          "Gänsefüßchen" & Chr(34)
        Dim lst As List(Of String) = split34(txt)
 
    End Sub
 
    Private Function split34(ByVal txt As String) As List(Of String)
 
        Dim lst As New List(Of String)
        Dim found As Boolean = False
        Dim tmp As String = String.Empty
 
        For Each el As Char In txt.ToCharArray
            If el = Chr(34) Then
                If found Then
                    found = False
                    lst.Add(tmp.Replace(Chr(34), ""))
                    tmp = ""
                Else
                    found = True
                End If
            End If
 
 
            If el = " " And Not found Then
                lst.Add(tmp)
                tmp = ""
            End If
 
            If found Then
                tmp &= el.ToString
            Else
                tmp &= el.ToString.Trim
            End If
        Next
        Return lst
 
 
    End Function
End Class

Mit freundlichen Gr??en
DotNetErbse


[Es hei?t Paket und nicht Packet, auch wenn Standard augenscheinlich von Standar(t)e kommt,hei?t es dennoch Standar(d)]

Beitrag wurde zuletzt am 01.11.12 um 11:38:36 editiert.

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Splitten bei Lehrzeichen auser in "" 
Autor: Toolmaster
Datum: 01.11.12 19:04

Danke für die Hilfe aber ich bekomme es nicht hin das nicht teile eines gesplitteten Strings abgeschnitten werden.

Grüße Georg
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Splitten bei Lehrzeichen auser in "" 
Autor: Manfred X
Datum: 02.11.12 01:27

Hallo!

Irgendwas listiges vielleicht .... ???

''' <summary>Splitten einer Zeichenfolge unter Beachtung von markierten 
' Zeichengruppen</summary>
    ''' <param name="text">zu splittende Zeichenfolge</param>
    ''' <param name="split_char">Splitt-Zeichen</param>
    ''' <param name="group_char">Zeichen, das Beginn und Ende von 
    ' Zeichengruppen markiert</param>
    Public Function tm_split(ByVal text As String, ByVal split_char As Char,
                              ByVal group_char As Char) As String()
 
        Dim split_list As New List(Of String)(text.Split(split_char))
        Dim i As Integer = -1
        Do
            i += 1
            If split_list(i).StartsWith(group_char) And Not split_list( _
              i).EndsWith(group_char) Then
                split_list(i) &= " " & split_list(i + 1)
                If Not i = split_list.Count - 1 Then split_list.RemoveAt(i + 1)
                i -= 1
            End If
        Loop Until i = split_list.Count - 1
 
        For i = 0 To split_list.Count - 1
            split_list(i) = split_list(i).Trim(group_char)
        Next
        Return split_list.ToArray
    End Function
Anwendung:

Dim text As String = "-Das ist ein- naja -sagen wir mal- seltsames -Thema.-"
Dim parts() As String = tm_split(text, " "c, "-"c)


Beitrag wurde zuletzt am 02.11.12 um 01:28:47 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Splitten bei Lehrzeichen auser in "" 
Autor: DotNetErbse
Datum: 02.11.12 07:46

haha listig ist gut!!! Klasse!

Mit freundlichen Gr??en
DotNetErbse


[Es hei?t Paket und nicht Packet, auch wenn Standard augenscheinlich von Standar(t)e kommt,hei?t es dennoch Standar(d)]

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel