Schrift
[thread]5960[/thread]

vergleich

Leser: 1


<< |< 1 2 >| >> 14 Einträge, 2 Seiten
Gast Gast
 2003-12-09 23:37
#75233 #75233
Hallo,

wie kann ich checken ob eine Variable ein bestimmtes Wort enthält?

also enthält variable gleich "haus"
esskar
 2003-12-09 23:42
#75234 #75234
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
Code: (dl )
1
2
3
4
5
6
use strict;

my $var = "haus";

if($var eq "haus") { print "$var eq haus\n"; }
else { print "$var nicht eq haus\n"; }
talis
 2003-12-09 23:51
#75235 #75235
User since
2003-09-19
4 Artikel
BenutzerIn
[default_avatar]
hab eben auch folgendes Problem $ary[8] enthält baby aber es geht nicht was mache ich falsch????

Code: (dl )
1
2
3
4
5
6
7
$t=$ary[8];

# Kategorien austauschen
if ($t =~ /baby/)
{
$kat="9";
}
esskar
 2003-12-09 23:54
#75236 #75236
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
enthält es baby, oder Baby ?

Code: (dl )
1
2
3
4
5
$t = $ary[8];
if($t =~ m/baby/i)
{
$kat="9";
}


ansonsten gibt es auch noch index

perldoc -f index
havi
 2003-12-10 08:57
#75237 #75237
User since
2003-08-04
2036 Artikel
BenutzerIn
[Homepage]
user image
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
$t = $ary[8];
if($t =~ m/baby/i) # das findet aber z.B. auch Babybett
{
$kat="9";
}

$t = $ary[8];
if($t =~ m/^baby$/i) # das findet nur Baby
{
$kat="9";
}


Gruss
renee
 2003-12-10 10:02
#75238 #75238
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
@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:
Code: (dl )
1
2
3
if($t =~ m/\bwort\b/i){
print "Wort ist enthalten...";
}
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
havi
 2003-12-10 10:05
#75239 #75239
User since
2003-08-04
2036 Artikel
BenutzerIn
[Homepage]
user image
Klar, soweit hab ich nicht gedacht!
Naja, ist ja auch noch ziemlich frueh :-)

Gruss
Strat
 2003-12-10 12:34
#75240 #75240
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
index muesste eigentlich schneller sein:

Code: (dl )
1
2
3
4
# -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:
Code: (dl )
1
2
3
4
# -1, falls nicht gefunden, sonst wird die position zurueckgegeben
if (index(lc($t), lc('wort')) > -1) {
print "Wort ist enthalten";
}
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
Crian
 2003-12-10 15:08
#75241 #75241
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
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
esskar
 2003-12-10 15:15
#75242 #75242
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
[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...
<< |< 1 2 >| >> 14 Einträge, 2 Seiten



View all threads created 2003-12-09 23:37.