AS-Problem: Suchen in einem String nach Anzahl von Zeichen zwischen zwei Positionen

Create

Mitglied
Hallo,
ich habe ein AS-Problem, welches ich mir wesentlich einfacher vorgestellt habe. Jetzt sitze ich schon den 5 Tag daran und gebe auf.

Eigentlich hört es sich einfach an:
Ich habe einen String in der Form T3UB9OP, welchen ich einlese. Es handelt sich dabei um eine Art Labyrinth-Spiel und die Buchstaben bezeichnen eingesammelte Dinge.
Mein Problem ist, dass ich:

(a) Die Anzahl der Dinge brauche, die jeweils zwischen den Zahlen liegen!
Also von Anfang bis zur ersten Zahl, von der ersten Zahl bis zur zweiten Zahl und in diesem Fall von der zweiten Zahl bis zum Ende des Strings.

Hier brauche ich also 1, 2, 2 UND

(b) Zudem muss ich wissen, welche Zahlen es sind (in der richtigen Reihenfolge wie diese auch in der Zeichenkette stehen), aber ich schaffe es nicht diese beiden Probleme zu lösen.

Ich habe es über das herausbekommen der Position der ersten Zahl versucht, über die NaN-Funktion und und und...
Das Problem ist, jede Zahl kann beliebig oft vorkommen und mehrfach in der Zeichenkette sein. Die Reihenfolge ist ebenfalls zufällig und nicht zwingend geordnet Also es kann auch ein T4Z1G4 sein.

Für Hinweise und Ideen schon einmal vielen Dank!
create
 
Re: AS-Problem: Suchen in einem String nach Anzahl von Zeichen zwischen zwei Position

Hi,

ich würd das erstmal in nen Array laden:

PHP:
foo = new Array();
mein_string = T3UB9OP;

for(bla = 0; bla < mein_string.length; bla++) {
 foo[bla] = mein_string.charAt(bla);
}

Und dann kannst du bequem per
PHP:
for (var i in foo) {
 if(!(i.isNaN)) {
   // i ist ne nummer! 
 }
}

Ungetestet, solltes aber tun.

Liebe Grüße,
Jens
 
Zuletzt bearbeitet:
Re: AS-Problem: Suchen in einem String nach Anzahl von Zeichen zwischen zwei Position

... und weil heut Weihnachten ist, hab ich Jens' Idee mal eben ausgeführt (der wirkliche Grund war einfach Neugierde):
PHP:
function doSplit(str) {
	var a = new Array();
	var done = false;
	while (!done) {
		done = true;
		for (var i=0; i<str.length; i++) {
			if (!isNaN(parseInt(str.charAt(i), 10))) {
				a.push(str.substr(0, i));
				str = str.substr(i + 1);
				done = false;
				break;
			}
			if (i == str.length - 1) a.push(str);
		}
	}
	return a;
}
Gibt ein Array mit den Zeichen zwischen den Zahlen zurück; bei "Tg4aB0Fz5okj" z.B. Tg, aB, Fz und okj

Gruß
.
 
Re: AS-Problem: Suchen in einem String nach Anzahl von Zeichen zwischen zwei Position

Reine Neugierde? Du Proll ... ;-]
 
Zurück