Seite 1 von 1

Stringteil ausschneiden unperformante Lösung? Alternative?

Verfasst: 16.08.2004 23:58
von Blutgerinsel
Hey,

hab mehrere ellenlangen Strings aus einem Array Element Schema:

Code: Alles auswählen

$test="Ein kleines Vieh lief zu seiner Bank und hob von seiner Kdnr. 4543544 etwas Geld ab";
Also es sind mehrere Strings in unterschiedlicher länge Kdnr. ist dagegen immer vorhanden auch die Kdnr. nur ist die Zahlenkette variabel

Ich könnte zwar mit Strpos den Anfangs und Endpunkt ermitteln und dann via substring den Teil ausschneiden. Nur halte ich das nicht für gut.

Aus dem String welcher wie bereits gesagt in einem Array Element steckt brauche ich noch weitere Daten zum Verarbeiten.

Reguläre Ausdrücke halte für am sinnvollsten was meint ihr?

Verfasst: 17.08.2004 07:41
von D@ve
Also wenn Du die preg-Funktionen nutzen kannst (sollten alle neuere PHP-Versionen haben) sind RegExps auf jeden Fall schon recht performant, allerdings fressen Reguläre Ausdrücke generell relativ viel Systemleistung.
Kannst Du nicht irgendein Stop-Zeichen vor den Integer-Wert setzen (zB. Raute oder Semikolon)?

Gruß, Dave

Verfasst: 17.08.2004 13:30
von Blutgerinsel
D@ve hat geschrieben:Also wenn Du die preg-Funktionen nutzen kannst (sollten alle neuere PHP-Versionen haben) sind RegExps auf jeden Fall schon recht performant, allerdings fressen Reguläre Ausdrücke generell relativ viel Systemleistung.
Kannst Du nicht irgendein Stop-Zeichen vor den Integer-Wert setzen (zB. Raute oder Semikolon)?
PHP 4 hat ja normal jeder Webhoster damit auch meiner und mein lokaler ohnehin.

Hintergrund des ganzen ist ich lade eine *.cvs kommaseparierte File von einer Bank (Buchungen Export) ein und pflege hiermit ein aktuelles Konto.

Durch die ; Trennungen konnte ich bereits diese schon zeilenweise anordnen bis auf den Teil welcher keine Trennungszeichen beinhaltet den hab ich nach wie vor als String einziger Trennungszeichen ist das Leerzeichen.

Hmm mal sehen werden es mal mit Regulären Ausdrücken abfangen und messen wie lange die Skriptoperationen dauern dann sehen wir mal weiter.