PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Gesamtes Wort ausgeben, welches bestimmte Zeichen enthält



$_staX
24.05.2009, 20:18
Ich habe zum Beispiel den Satz: Du bist xy_Deutschland

xy ist immer verschieden, also möchte ich nach Deutschland suchen und dann das ganze Wort mit xy vornedran ausgeben.

z.B. Du bist 12_Deutschland
Deutschland gefunden...
Wort mit Deutschland ausgeben...
12_Deutschland!
Hoffe die Erklärung was ich suche ist halbwegs verständlich

fred777
24.05.2009, 20:25
naja nicht so ganz..
Suchen kannst du ja mit:

$variable = "Du bist 12_Deutschland";
if ($variable = ~/Deutschland/)
{print "Wort vorhanden";}
else {print "nicht vorhanden"}

Oder was meinst du mit xy_D.?

$_staX
24.05.2009, 20:26
Ja das weiß ich, jedoch will ich das Wort ausgeben, das Deutschland enthält und zwar das ganze Wort.

Hu5eL
24.05.2009, 20:57
die idee wie es funktioniert:
index --> deutschland

dann das " " vor und nach dem index suchen. dann haste die positionen da dennen das wort beginnt / endet...

int_main();
25.05.2009, 08:04
Ähnlich wie in Beispiel.


Regex sollte dein Problem lösen....


GreeZ

p0wnZ
25.05.2009, 11:18
z.B. Du bist 12_Deutschland
Deutschland gefunden...
Wort mit Deutschland ausgeben...
12_Deutschland!

if ($_ =~ m/(\d*_Deutschland)/) {
print $1 . "\n";
}

cTPu1bjo
25.05.2009, 14:25
Muss dieser Prefix eine Ganzzahl sein? Wenn nicht dann:

h0yt3r@Cain:~$ echo `perl -e 'my $var="abc_deutschland"; print $1 if($var=~ /(.*)_deutschland/);'`
abc
h0yt3r@Cain:~$ echo `perl -e 'my $var="1337_deutschland"; print $1 if($var=~ /(.*)_deutschland/);'`
1337Edit: Oh shiat habs auch falsch verstanden.

Dann halt so:

h0yt3r@Cain:~$ echo `perl -e 'my $var="1337_deutschland"; print $1 if($var=~ /(\d{1,}_deutschland)/);'`
1337_deutschland

Steiger_mp
25.05.2009, 15:01
such nach dem string, suche das vorangegangene leerzeichen, dann das abschließende leerzeichen.
Da ich kein Perl kann, kann ich dir leider kein source geben.