String zerlegen

03/08/2009 - 15:56 von Andreas Hess | Report spam
Hallo miteinander,

Es liegt ein String in einer Variablen "Zeichenfolge" vor. Der String
beinhaltet Sinneinheiten, die mittels der Zeichen " - " bzw ","
voneinander getrennt sind.

Bsp:
Zeichenfolge = abcd,ef,ghijk - ABC - 1,2345,6
oder
Zeichenfolge = abc - AB,CDEF - 123

Ich würde jetzt gerne die (Gesamt)Zeichenfolge so zerlegen, dass ich
die Kombinationen der Kleinbuchstaben, Großbuchstaben und Zahlen in
einem (gemeinsamen???) Array ablege und Infos darüber erhalte, wie
viele Kleinbuchstraben-Kombis, Großbuchstaben-Kombis und Zahlenkombis
vorhanden sind

Ich hab schon ein bisschen rumprobiert, Left, Right, Mid... InStr...
ÄRGL! ;-)
Ich bin kein Informatiker, mein Hirn reicht nicht dafür... ;-)

Kann mir jemand helfen? Hat das schon mal jemand gemacht?

Vielen Dank für Antworten schon jetzt!!!
Grüße aus Stuttgart,
Andreas
 

Lesen sie die antworten

#1 Bernhard Sander
03/08/2009 - 16:37 | Warnen spam
Hallo Andreas,

Es liegt ein String in einer Variablen "Zeichenfolge" vor. Der String
beinhaltet Sinneinheiten, die mittels der Zeichen " - " bzw ","
voneinander getrennt sind.

Bsp:
Zeichenfolge = abcd,ef,ghijk - ABC - 1,2345,6
oder
Zeichenfolge = abc - AB,CDEF - 123

Ich würde jetzt gerne die (Gesamt)Zeichenfolge so zerlegen, dass ich
die Kombinationen der Kleinbuchstaben, Großbuchstaben und Zahlen in
einem (gemeinsamen???) Array ablege und Infos darüber erhalte, wie
viele Kleinbuchstraben-Kombis, Großbuchstaben-Kombis und Zahlenkombis
vorhanden sind


Aus Deiner Erlàuterung schließe ich, dass die verschiedenen Trenner nicht
gleichwertig sind sondern damit Gruppen von Listen getrennt werden.

Falls die Trenner gleichwertig sind, wird's einfach:
Ersetze " - " durch Komma und lass die eingebaute Funktion Split() die restliche
Arbeit erledigen:
xArray = Split(Replace(Zeichenfolge, " - ", ","), ",")


Falls die Trenner hierarchisch zu interpretieren sind, muss man entsprechend
2-stufig vorgehen. Zuerst das àussere Array der durch " - " getrennten Listen
erzeugen, danach in einer Schleife die durch Kommata getrennten Elemente rausholen:

aussenArray = Split(Zeichefolge, " - ")
ReDim komplettArray(LBound(aussenArray), UBound(aussenArray))
For i = LBound(aussenArray) To UBound(aussenArray)
komplettArray(i) = Split(aussenArray(i), ",")
Next i

Im komplettArray stehen nun sàmtliche Elemente einzeln.
Auf die einzelnen Elemente kannst Du nach dem Schema:
x = komplettArray(0)(2)
zugreifen.

Die Zahlenkombis stehen bei Deinen Beispielen in komplettArray(2), deren Anzahl
ist dann:
AnzahlZahlenkombis = UBound(komplettArray(2)) - LBound(komplettArray(2)) + 1

Gruß
Bernhard Sander

Ähnliche fragen