php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 08.12.2011, 14:45  
Neuer Benutzer
 
Registriert seit: 21.11.2011
Beiträge: 10
PHP-Kenntnisse:
Anfänger
Veyrne befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] Herausfinden, ob eine GENAUE Zahl in einem String vorhanden ist

Moin, Community!

Ich habe da ein relativ banales Problem, das ich gerade noch nicht so hundertprozentig zu lösen weiß.

Die Situation:

Ich bekomme eine numerische Variable und würde gern überprüfen, ob genau diese Zahl in einem String vorhanden ist.

Ein exaktes Beispiel:

Ich will wissen, ob in 1_3.png die "1" vorhanden ist. Und zwar wirklich 1.

Mein bisheriger Ansatz war:
PHP-Code:
if (strpos(1_3.png1) === 0
Das klappt leider nicht wirklich, da das auch der Fall ist, wenn mein String beispielsweise 13_2.png ist. Recherche hat ergeben, dass das mittels Regex gehen müsste. Mir ist leider noch nicht klar geworden, wie ich in einem solch speziellen Fall damit umgehe.
Veyrne ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 08.12.2011, 14:48  
Erfahrener Benutzer
 
Benutzerbild von wolf29
 
Registriert seit: 17.03.2010
Beiträge: 1.833
PHP-Kenntnisse:
Fortgeschritten
wolf29 wird schon bald berühmt werdenwolf29 wird schon bald berühmt werden
Standard

Klappt nicht ist keine gute Fehlerbeschreibung! Warum geht es den nicht? Fehlermeldungen? So probiert?

PHP-Code:
<?php
$meinString 
'1_3.png';
$findMich   '1';
$pos strpos($meinString$findMich);

// Beachten Sie die Verwendung von ===. Ein einfacher Vergleich (==) liefert
// nicht das erwartete Ergebnis, da die Position von 'a' die nullte Stelle
// (also das erste Zeichen) ist
if ($pos === false) {
    echo 
"Der String '$findMich' wurde nicht im String '$meinString' gefunden";
} else {
    echo 
"Der String '$findMich' wurde im String '$meinString' gefunden";
    echo 
" und befindet sich an Position $pos";
}
?>

(Quelle: php.net)

Du suchst preg_match (http://www.php.net/manual/de/function.preg-match.php)

mfg Wolf29
__________________
while (!asleep()) sheep++;

Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.
wolf29 ist offline   Mit Zitat antworten
Alt 08.12.2011, 14:50  
Erfahrener Benutzer
 
Registriert seit: 25.09.2009
Beiträge: 2.114
PHP-Kenntnisse:
Fortgeschritten
BlackScorp wird schon bald berühmt werdenBlackScorp wird schon bald berühmt werden
Standard

PHP-Code:
if (strpos("1_3.png""1_") === false
geht das so nicht?
__________________
Mein kleines Projekt
-Cruel Online-
5 von 3 Leuten können kein Bruchrechnen
BlackScorp ist offline   Mit Zitat antworten
Alt 08.12.2011, 14:52  
Erfahrener Benutzer
 
Registriert seit: 10.11.2011
Beiträge: 268
PHP-Kenntnisse:
Fortgeschritten
Solu ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich steh gerade auf dem Schlauch weswegen ich mich schon fast schäme die Methode zu posten aber...

PHP-Code:
$foo false;
$str "dein string";
for (
$i 0$i strlen($str); $i++) {
    if (
$str[$i] == "1") {
        
$foo true;
    }
}
echo 
$foo//Wenn true, vorhanden. Wenn false, eben nich...

gott ist das peinlich 
Solu ist offline   Mit Zitat antworten
Alt 08.12.2011, 14:52  
fab
Erfahrener Benutzer
 
Benutzerbild von fab
 
Registriert seit: 28.07.2010
Beiträge: 2.308
PHP-Kenntnisse:
Fortgeschritten
fab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblick
Standard

Hier ist doch die Fehlerbeschreibung:
Zitat:
Zitat von Veyrne Beitrag anzeigen
da das auch der Fall ist, wenn mein String beispielsweise 13_2.png ist.
Was hier ungenau ist, ist die Formulierung des gewünschten Ergebnis. in "13_2" ist nunmal genau "1" enthalten. Ich kann mir aber denken, was du willst, mit RegEx bist du schon auf der richtigen Fährte, dein nächstes Stichwort lautet "Word Boundaries".

Im Übrigen überprüft strpos() === 0 ob der gesuchte String am Anfang des Ausdrucks gefunden wird, um zu überprüfen ob er irgendwo gefunden wird, muss auf !== false geprüft werden.
fab ist offline   Mit Zitat antworten
Alt 08.12.2011, 15:26  
Neuer Benutzer
 
Registriert seit: 21.11.2011
Beiträge: 10
PHP-Kenntnisse:
Anfänger
Veyrne befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von BlackScorp Beitrag anzeigen
PHP-Code:
if (strpos("1_3.png""1_") === false
geht das so nicht?
Ah, genau. Mist, warum bin ich da nicht drauf gekommen? Viel einfacher kann ich das nicht lösen.

Ich bedanke mich bei allen.
Veyrne ist offline   Mit Zitat antworten
Alt 08.12.2011, 15:27  
fab
Erfahrener Benutzer
 
Benutzerbild von fab
 
Registriert seit: 28.07.2010
Beiträge: 2.308
PHP-Kenntnisse:
Fortgeschritten
fab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblick
Standard

Und so etwas wie 21_3.png kann nicht vorkommen?
fab ist offline   Mit Zitat antworten
Alt 08.12.2011, 15:55  
Erfahrener Benutzer
 
Benutzerbild von lstegelitz
 
Registriert seit: 07.09.2009
Beiträge: 4.005
PHP-Kenntnisse:
Fortgeschritten
lstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nett
Standard

strpos() ist einfach die falsche Funktion dafür...

PHP-Code:
$s "1_11_20_22_41_3";
preg_match_all('/[0-9]+/'$s$matches);
print_r($matches); 
Code:
Array
(
    [0] => Array
        (
            [0] => 1
            [1] => 11
            [2] => 20
            [3] => 22
            [4] => 41
            [5] => 3
        )
)
__________________
Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.
lstegelitz ist offline   Mit Zitat antworten
Alt 08.12.2011, 15:55  
Erfahrener Benutzer
 
Benutzerbild von jspit
 
Registriert seit: 19.08.2011
Beiträge: 701
PHP-Kenntnisse:
Anfänger
jspit wird schon bald berühmt werden
Standard

Genau, wie auch 11_5.png ein falsches Ergebnis liefert. Wenn die zu prüfende Zahl am Anfang steht und ein _ folgt, ist die Lösung trivial:
PHP-Code:
$meinString '1_3.png';
$findMich   '1'
if((int)
$meinString == $findMich) echo "gefunden"
jspit ist offline   Mit Zitat antworten
Alt 08.12.2011, 15:58  
Erfahrener Benutzer
 
Registriert seit: 25.09.2009
Beiträge: 2.114
PHP-Kenntnisse:
Fortgeschritten
BlackScorp wird schon bald berühmt werdenBlackScorp wird schon bald berühmt werden
Standard

Zitat:
Zitat von lstegelitz Beitrag anzeigen
strpos() ist einfach die falsche Funktion dafür...

PHP-Code:
$s "1_11_20_22_41_3";
preg_match_all('/[0-9]+/'$s$matches);
print_r($matches); 
Code:
Array
(
    [0] => Array
        (
            [0] => 1
            [1] => 11
            [2] => 20
            [3] => 22
            [4] => 41
            [5] => 3
        )
)
da hättest auch gleich print_r(explode('_',$s)) schreiben können:P
__________________
Mein kleines Projekt
-Cruel Online-
5 von 3 Leuten können kein Bruchrechnen
BlackScorp ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

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 are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Position von erstem Leerzeichen, Zahl in String ch.bielmeier PHP Tipps 2009 4 02.01.2009 23:54
Zahl in String parsen halskrause JavaScript, Ajax und mehr 7 20.11.2008 00:25
PHP5 SOAP - Problem mit Arrays Calexico PHP-Fortgeschrittene 0 11.09.2008 12:06
Zahl aus String extrahieren GSJLink PHP Tipps 2008 5 13.01.2008 19:13
Event abfangen Ambience JavaScript, Ajax und mehr 4 30.08.2007 14:36
string vorhanden? Trumpfass PHP Tipps 2006 1 24.08.2006 21:52
string auf bestehen �berpr�fen und so lange zahl anh�n Promaetheus PHP Tipps 2006 10 26.04.2006 23:05
preg_replace: Zahl anstatt String FI-DD PHP-Fortgeschrittene 4 02.10.2005 14:50
Prüfen ob Zahl in String vorhanden ist PHP Tipps 2005-2 9 07.09.2005 11:32
[JS] Regex: Zahl aus String auslesen [gelöst] freq.9 HTML, Usability und Barrierefreiheit 3 27.06.2005 12:02
string -> int, nur wenn string zahl ist PHP Tipps 2005-2 3 06.06.2005 12:33
[Erledigt] String in Zahl umwandeln PHP Tipps 2005 1 12.05.2005 11:39
String nach jeder Zahl teilen yoshy PHP Tipps 2005 8 04.05.2005 03:28
[Erledigt] Sortierung nach Zahl in einem String Datenbanken 2 02.05.2005 16:01
php string letztes zeichen herausfinden 4x4styling PHP Tipps 2005 2 02.03.2005 15:18

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
regex exakte zahl aus string, feststelle ob string numerisch ist, community-string herausfinden

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:29 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum