Re: String extrahieren

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance



Hallo

<kortmann81@xxxxxxxxxxxxxx> schrieb im Newsbeitrag
news:1187253316.867725.107740@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
On 16 Aug., 09:20, kortman...@xxxxxxxxxxxxxx wrote:
Hallo erstmal vielen Dank für die schnellen Antworten. Es handelt sich
hier um ein VBA - Problem. Ich lese eine txt- Datei in einen String
ein. Meine Beispieldatei hat 1600 Zeichen und ist somit noch eine sehr
kleine, da sie nur einen Datensatz enthält. Die Datei ist nach
folgendem Muster aufgebaut.

' ' --> immer ein bestimmtes Segment

innerhalb des Segmentes gibt es Gruppen die durch + Inhalt +
gekennzeichnet sind

eine Gruppe ( Bsp: + Gruppe1+) kann mehrere Inhalte haben die durch :
getrennt sind

Beispiel:

'UNB+UNOC:3+9900xxxxxxxxx:14+990xxxxxxxxxx:14+070815:1027+16020321'
'Segment UNB(Anfang)+Gruppe UNOC+Gruppe Empfänger+Gruppe Absender
+Gruppe Datum + Referenz ' (Ende Segment UNB)

solche Segment würde ich gerne auf einfache Art und Weise
auseinandernehmen. Da in meiner Besipieldatei 79 Segmente enthalten
sind, ist dieses sehr aufwändig zu programmieren. Dehalb wollte ich im
Vorfeld, zb. alle Segment extrahieren und in Variablen schreiben, um
einfach den Überblick nicht zu verlieren und nicht zu statisch zu
werden.

Das Beispiel mit den Regexpressions verstehen ich leider nicht ganz.
Ich denke die Lösung ist nicht für mich geeignet.

Wie bekomme ich das nur hin? Wenn ich erstmal alle Segmente habe,
würde mir das schon weiterhelfen. Die Bearbeitung sollte sukzessive
passieren, d.h. erst das erste Segment und dann vielleicht aus dem
string entfernen, dann das nächste Segment.

Was ich noch dazu sagen muss, die ' trennen immer die Gruppen. D.h.
'gruppe1'gruppe2'gruppex'

wenn ich den Datenaufbau richtig verstehe könnte da doch schon einfach SPLIT
helfen. versuche mal so, du kannst auch gleich mit + auf die Gruppen
trennen.

!! Spalte A in Tabelle1 wird überschrieben, passe es an.

Sub TextTrennen()
Dim strDate As String
Dim arrTxt
Dim lngI As Long

''Testdaten
strDate = "
'UNB+UNOC:3+9900xxx:14+990xxx:14+070815:1027+16020321'UNB+UNOC:3+9900xxx:
14+990xxx:14+070815:1027+16020321'UNB+UNOC:3+9900xxx:14+990xxx:14+070815:1027+16020
321'UNB+UNOC:3+9900xxx:14+990xxx:14+070815:1027+16020321'"

arrTxt = Split(strDate, "'") ''Segmente trennen
'arrTxt = Split(strDate, "+") '' oder Gruppe trennen

For lngI = LBound(arrTxt) To UBound(arrTxt)
Worksheets("Tabelle1").Cells(lngI + 1, 1) = arrTxt(lngI)
Next lngI

End Sub





.



Relevant Pages

  • Re: String extrahieren
    ... Ich lese eine txt- Datei in einen String ... Vorfeld, zb. alle Segment extrahieren und in Variablen schreiben, um ... Dim strDate As String ... Dim lngI As Long ...
    (microsoft.public.de.excel)
  • Re: String extrahieren
    ... Ich lese eine txt- Datei in einen String ... Meine Beispieldatei hat 1600 Zeichen und ist somit noch eine sehr ... Vorfeld, zb. alle Segment extrahieren und in Variablen schreiben, um ... Dim strDate As String ...
    (microsoft.public.de.excel)
  • Re: Extracting Data out of a string
    ... It relies only on the <comma> and the fact that there are three segments. ... Segment 1 is everything up to the ... Segment 3 is the third string, ... Dim re As Object, mc As Object, m As Object ...
    (microsoft.public.excel.programming)
  • Find and replace the 1st occurrence for many strings
    ... Dim strRangeAddress As String ... Dim lngNbSearch As Long ... Dim lngI As Long ...
    (microsoft.public.excel.programming)
  • Re: Sorting Numbers within A String
    ... * break up the string into a variable array using the Left, Mid, Right ... ' intNeedSegment - Indicates the segment to be returned ... Dim intCurrentPosition As Integer ... Dim intGetSegment As Integer ...
    (comp.databases.ms-access)