Hi, weiß jemand, wie man Strings aufteilt?
Ich möchte einen kompletten String einlesen, z.B. 89432576.
Von dem möchte ich dann immer zwei Stellen einlesen, möchte ihn also in 89 43 25 76 aufteilen.
Weiß jemand wie man das machen kann, ohne über StringLeft zu gehen, damit ich Code sparen kann(und es einfacher ist)?
Zeichen aufteilen
-
- [ offen ]
-
penta.phoenix -
24. März 2007 um 13:21 -
Geschlossen -
Erledigt
-
-
- Offizieller Beitrag
Hi,
die Frage ist, ob du Leerzeichen einfügen willst, oder die einzelnen Pärchen in Variablen brauchst.
So long,
Mega
-
Ich hätte sie gerne in Variablen, damit ich sie nachher weiterverarbeiten kann.
-
- Offizieller Beitrag
Hier eine Variante, viel kürzer geht wohl nicht.
[autoit]#include <array.au3>
[/autoit]
Dim $arOut[1]
$arOut[0] = 0 ; nicht zwingend (für Anzahl Elemente)
$var = "89432576"
For $i = 1 To StringLen($var) Step 2
_ArrayAdd($arOut, StringMid($var, $i, 2))
$arOut[0] += 1 ; nicht zwingend (Anzahl Elemente)
Next
_ArrayDisplay($arOut, "2-er Gruppen")
ExitEDIT
Funktioniert mit geradzahligem und ungeradzahligem Ausgangsstring. -
Danke für deine Hilfe, die Funktion StrigLen() muss ich übersehen haben, als ich die Hilfedatei gelesen habe.
Ich werde dein Code sofort ausprobieren. -
- Offizieller Beitrag
Hi,
naja, wenn es immer gerade ist, dann ginge es auch so: :rofl_devil:
[autoit]#include <array.au3>
[/autoit]
$var = "89432576"
Global $a = StringRegExp($var, '.{2}', 3)
_ArrayDisplay($a, "")So long,
Mega
-
Danke für deine Hilfe, aber der erste Code hat schon perfekt funktioniert und er ist ein bisschen flexibler.
Thx, penta.phoenix
-
- Offizieller Beitrag
Hi,
kein Problem, ich wollte auch nur auf die Aussage von BugFix reagieren, dass es evtl. nicht kürzer ginge.
:rofl_devil:
[autoit]#include <array.au3>
[/autoit]
$var = "894325763"
Global $a = StringRegExp($var, '.{2}|.{1}', 3)
_ArrayDisplay($a, "")So long,
Mega