Hallo,
wie kann ich checken ob eine Variable ein bestimmtes Wort enthält?
also enthält variable gleich "haus"
User since
2003-09-19
4
Artikel
BenutzerIn
hab eben auch folgendes Problem $ary[8] enthält baby aber es geht nicht was mache ich falsch????
$t=$ary[8];
# Kategorien austauschen
if ($t =~ /baby/)
{
$kat="9";
}
User since
2003-08-04
7321
Artikel
ModeratorIn
enthält es baby, oder Baby ?
$t = $ary[8];
if($t =~ m/baby/i)
{
$kat="9";
}
ansonsten gibt es auch noch
index
perldoc -f index
User since
2003-08-04
14371
Artikel
ModeratorIn
@havi: Bei deiner zweiten Möglichkeit darf Baby nicht Teil eines Satzes sein...
Wenn ein Wort irgendwo in einer Variablen sein soll, dann muss es so heißen:
if($t =~ m/\bwort\b/i){
print "Wort ist enthalten...";
}
User since
2003-08-04
2036
Artikel
BenutzerIn
Klar, soweit hab ich nicht gedacht!
Naja, ist ja auch noch ziemlich frueh :-)
Gruss
User since
2003-08-04
5246
Artikel
ModeratorIn
index muesste eigentlich schneller sein:
# -1, falls nicht gefunden, sonst wird die position zurueckgegeben
if (index($t, 'wort') > -1) {
print "Wort ist enthalten";
}
wenn du es von gross-/kleinschreibung unabhaengig brauchst, wandle einfach alles in kleinschreibung um:
# -1, falls nicht gefunden, sonst wird die position zurueckgegeben
if (index(lc($t), lc('wort')) > -1) {
print "Wort ist enthalten";
}
User since
2003-08-04
5872
Artikel
ModeratorIn
Aber den Test auf die Wortgrenzen verliert man mit index.
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;
use strict; use warnings; Link zu meiner Perlseite
User since
2003-08-04
7321
Artikel
ModeratorIn
[quote=Crian,10.12.2003, 14:08]Aber den Test auf die Wortgrenzen verliert man mit index.[/quote]
wieso...
du könntest schauen, ob vor der position bzw. hinter dem wort ein bestimmtes zeichen steht...