Split mit RegEx

18/06/2009 - 17:56 von Lutz Elßner | Report spam
Regular Expressions sind mir immer noch fremd.

Ich möchte Strings trennen wo ein Leerzeichen ist, aber nicht wenn ein Teilstring in Hochkommas steht:

AA-AA BB-BB 'CC DD EE'

AA-AA 'CC DD EE' 4

das soll jeweils 3 Teile ergeben.
Kann mir jemand den Ausdruck verraten?

Vielleicht auch noch einen Lösungvorschlag wenn ' im String vorkommt:

AA-AA BB-BB 'frank\'s auto'


Vielen Dank
Lutz
 

Lesen sie die antworten

#1 Marcel Garaventa
22/06/2009 - 15:14 | Warnen spam
Hallo

Hier habe ich Dir eine Funktion, die denau das machst was Du suchst.

Public Shared Function Split(ByVal sString As String) As String()
Dim sRückgabe(0) As String
If sString.IndexOf(" ") = -1 Then
sRückgabe(0) = sString
Return sRückgabe
End If

Dim iSPos As Integer = 0
Dim iEPos As Integer = 0
Dim sSs As String = " "

If sString.StartsWith("'") = True Then
sSs = "' "
End If

Do
iEPos = sString.IndexOf(sSs, iSPos)
If iEPos = -1 Then
iEPos = sString.Length
End If

sRückgabe(sRückgabe.Length - 1) = sString.Substring(iSPos, iEPos
- iSPos)

If Not iEPos < sString.Length - 1 Then
Exit Do
End If

If sSs = "' " Then
iSPos = iEPos + 2
Else
iSPos = iEPos + 1
End If

If sString.Substring(iEPos + 1, 1) = "'" Then
sSs = "' "
Else
sSs = " "
End If
ReDim Preserve sRückgabe(sRückgabe.Length)
Loop

Return sRückgabe
End Function

Gruss Marcel

"Lutz Elßner" wrote:

Regular Expressions sind mir immer noch fremd.

Ich möchte Strings trennen wo ein Leerzeichen ist, aber nicht wenn ein Teilstring in Hochkommas steht:

AA-AA BB-BB 'CC DD EE'

AA-AA 'CC DD EE' 4

das soll jeweils 3 Teile ergeben.
Kann mir jemand den Ausdruck verraten?

Vielleicht auch noch einen Lösungvorschlag wenn ' im String vorkommt:

AA-AA BB-BB 'frank\'s auto'


Vielen Dank
Lutz




Ähnliche fragen