Portal > Foren > PHP > PHP-Programmierung > Zahl aus String extrahieren
Antwort
 
Themen-Optionen Thema durchsuchen
Alt 08.05.2007, 18:14 Nach oben    #1
Jan
Erfahrener Benutzer
 
Benutzerbild von Jan
 
Registriert seit: 08.01.2006
Ort: Mannheim
Beiträge: 483
Standard Zahl aus String extrahieren

Hallo,
ich habe folgenden String:
Code:
[get] => Holz	616 pro Stunde
 Lehm	616 pro Stunde
 Eisen	391 pro Stunde
Wie kann ich aus diesem String die Zahlen herausbekommen?
Leider komm ich nicht drauf, da Reguläre Ausdrücke mich etwas überfordern.

Ich hätte gerne soetwas:
Code:
[get] => Array
        (
            [holz] => 616
            [lehm] => 616
            [eisen] => 391
        )
__________________
Jan
info.malte-gerth.de
=================================
Nutzt bitte lieber Jabber statt ICQ:
malte.gerth@jabber.cz
Jan ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 08.05.2007, 18:17 Nach oben    #2
Erfahrener Benutzer
 
Registriert seit: 18.03.2005
Beiträge: 597
Standard

Einfach mit preg_match_all und (\d+) suchen ...
CIX88 ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 08.05.2007, 19:32 Nach oben    #3
Oliver O.
 
Benutzerbild von Xean
 
Registriert seit: 17.08.2005
Beiträge: 428
Standard

oder nach
'/(\w*) (\d+) pro Stunde/'

dann bekommst du das hier raus:

PHP-Code:
Array
(
    [
0] => Array
        (
            [
0] => Holz 616 pro Stunde
            
[1] => Lehm 616 pro Stunde
            
[2] => Eisen 391 pro Stunde
        
)

    [
1] => Array
        (
            [
0] => Holz
            
[1] => Lehm
            
[2] => Eisen
        
)

    [
2] => Array
        (
            [
0] => 616
            
[1] => 616
            
[2] => 391
        
)


Xean ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 08.05.2007, 19:48 Nach oben    #4
Erfahrener Benutzer
 
Registriert seit: 12.06.2006
Beiträge: 207
Standard

Auf Whitespaces achten, er hat mehrere in seinem Beispiel!
FloB ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 08.05.2007, 19:52 Nach oben    #5
Jan
Erfahrener Benutzer
 
Benutzerbild von Jan
 
Registriert seit: 08.01.2006
Ort: Mannheim
Beiträge: 483
Standard

Danke, darf ich noch kurz die Frage anhängen, wie ich die beiden Array kombinieren kann? Also das ich als indizies Holz, Eisen und Lehm habe?
So wie in meinem ersten Post?
Ansonsten schonmal vielen Dank.
__________________
Jan
info.malte-gerth.de
=================================
Nutzt bitte lieber Jabber statt ICQ:
malte.gerth@jabber.cz
Jan ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 08.05.2007, 19:58 Nach oben    #6
Erfahrener Benutzer
 
Registriert seit: 18.03.2005
Beiträge: 597
Standard

Zitat:
beiden Array kombinieren
Wieso beide ?
Da ist nur eins

Zitat:
Whitespaces achten
Nanu, wenn er nach Zahlen suchen will ?
CIX88 ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 08.05.2007, 20:01 Nach oben    #7
Verplanter Benutzer
 
Registriert seit: 14.12.2004
Beiträge: 238
Standard

$array =
Code:
Array 
( 
    [0] => Array 
        ( 
            [0] => Holz 616 pro Stunde 
            [1] => Lehm 616 pro Stunde 
            [2] => Eisen 391 pro Stunde 
        ) 

    [1] => Array 
        ( 
            [0] => Holz 
            [1] => Lehm 
            [2] => Eisen 
        ) 

    [2] => Array 
        ( 
            [0] => 616 
            [1] => 616 
            [2] => 391 
        ) 

)
PHP-Code:
for ($i 0$i count($array[1]); ++$i) {

    
$newArray[$array[1][$i]] = $array[2][$i];


hmm ...
__________________
Das Leben ist zwar bloß ein Adventure-Game, aber die Grafik ist verdammt gut.
Ich such immer noch den Cheat für unlimited money!
DasMööp ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 08.05.2007, 20:12 Nach oben    #8
Erfahrener Benutzer
 
Registriert seit: 18.03.2005
Beiträge: 597
Standard

Hmmm, wieso wollt ihr denn noch ein Array anlegen, wenn schon eins vorhanden ist ?
Vielleicht mit Parameter PREG_SET_ORDER arbeiten, dann ist es vielleicht einfacher beim Auslesen (und übersichtlich), ohne dabei noch ein Array zu erzeugen
CIX88 ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 08.05.2007, 20:35 Nach oben    #9
Verplanter Benutzer
 
Registriert seit: 14.12.2004
Beiträge: 238
Standard

Auf die schnelle is mir nur das eingefallen.

PREG_SET_ORDER

Info? ... auf php.net kann ich nix finden, hast Du was zum anschauen ?
__________________
Das Leben ist zwar bloß ein Adventure-Game, aber die Grafik ist verdammt gut.
Ich such immer noch den Cheat für unlimited money!
DasMööp ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 08.05.2007, 20:49 Nach oben    #10
Erfahrener Benutzer
 
Registriert seit: 18.03.2005
Beiträge: 597
Standard

Jo guck mal unter:
http://www.php.net/manual/de/functio...-match-all.php

und dort mal nach Flags suchen.
CIX88 ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 09.05.2007, 12:35 Nach oben    #11
Bastian Fenske
 
Registriert seit: 04.01.2006
Ort: Kassel
Beiträge: 853
Standard

Ansonsten gibt es für dieses Problem (Arrays derart zusammenführen) die Funktion array_combine().

Basti
Basti ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 09.05.2007, 13:29 Nach oben    #12
Erfahrener Benutzer
 
Registriert seit: 12.06.2006
Beiträge: 207
Standard

Zitat:
Zitat von CIX88 Beitrag anzeigen
Zitat:
Whitespaces achten
Nanu, wenn er nach Zahlen suchen will ?
Ich mein im RegEx, du hast nur ein Space eingebaut, es sind aber Variable Abstände und evtl. keine Spaces sondern Tabs. Capisce?
FloB ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 09.05.2007, 14:24 Nach oben    #13
Jan
Erfahrener Benutzer
 
Benutzerbild von Jan
 
Registriert seit: 08.01.2006
Ort: Mannheim
Beiträge: 483
Standard

Jop, danke.
Klappt.
__________________
Jan
info.malte-gerth.de
=================================
Nutzt bitte lieber Jabber statt ICQ:
malte.gerth@jabber.cz
Jan ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 09.05.2007, 15:36 Nach oben    #14
Oliver O.
 
Benutzerbild von Xean
 
Registriert seit: 17.08.2005
Beiträge: 428
Standard

Zitat:
Zitat von FloB Beitrag anzeigen
Auf Whitespaces achten, er hat mehrere in seinem Beispiel!
Stimmt... es ist ein tab... müsste man mit str_replace dann zu leerzeichen machen
Xean ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 09.05.2007, 18:22 Nach oben    #15
Erfahrener Benutzer
 
Registriert seit: 12.06.2006
Beiträge: 207
Standard

Oder am besten mit ~\s+~. Dann gibts keine Probleme.
FloB ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
PingBacks sind an
RefBacks sind aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Dateinamen aus String extrahieren, pathinfo vs. strrpos Ben PHP-Programmierung 2 21.02.2007 11:33
Problem bei Verarbeitung von Templates (Eigene Klassen) dago PHP-Programmierung 21 31.08.2006 16:02
Symbolklassen festlegen anna Allgemeine Java-Programmierung 2 12.11.2005 11:30
Datei einlesen. cyberdevil87 Allgemeine Java-Programmierung 3 27.06.2005 09:22
string in teilbereiche zerteilen!? Niki_Tesla Allgemeine Java-Programmierung 10 14.02.2005 09:11


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:49 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45