| |
VB.NET - Ein- und UmsteigerSplitten 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 | |
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. | |
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 | |
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. | |
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)] | |
| 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 |
|
|
Neu! sevEingabe 3.0
Einfach stark!
Ein einziges Eingabe-Control für alle benötigten Eingabetypen und -formate, inkl. Kalender-, Taschenrechner und Floskelfunktion, mehrspaltige ComboBox mit DB-Anbindung, ImageComboBox u.v.m. Weitere InfosTipp des Monats TOP Entwickler-Paket
TOP-Preis!!
Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1605.50 EUR...
Jetzt nur 599,00 EURWeitere Infos
|
|
|
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
|
|