Schrift
[thread]7875[/thread]

Doppelbuchstaben umklammern (war: Help)



<< |< 1 2 3 >| >> 23 Einträge, 3 Seiten
Gast Gast
 2006-04-10 16:52
#64668 #64668
Hi hab nur kurz ne Frage kenne Perl seit ca 1 Stunde ^^ und hab mal den Quellcode gepostet was ich da bis jetzt fürn kack hab aus nen Tutorial xD. Frage ist nur wie ich das selbe nur mit Doppelbuchstaben mache o.O also soll nur die Zeilen nummerieren in den ein Wort mit Doppelbuchstabe drin ist und die Doppelbuschtaben in () setzen z.B
Do(pp)elbuchstaben :P

Zeilen sidn zwar klar die Verändert werden müssen nur in was x_X

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!usr/local/bin/perl
#
my $z = 1;
$text = '/SAN/content/cgi-bin/text';
open (INFO, $text);
@lines = <INFO>;
close (INFO);
foreach $zeile (@lines)
{
if ($zeile=~/[a-z]/ ) {

$zeile =~ s/([A-Z])/*$1*/g;

print "$z\t$zeile";

$z = $z +1


}
else {

print "\t$zeile";
}
}


Crian: CODE-Tags\n\n

<!--EDIT|Crian|1144674124-->
Crian
 2006-04-10 17:00
#64669 #64669
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
$zeile =~ s~(([a-zäöüß])\2)~($1)~gi;
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
bloonix
 2006-04-10 17:03
#64670 #64670
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
[quote=Guest,10.04.2006, 14:52]also soll nur die Zeilen nummerieren in den ein Wort mit Doppelbuchstabe drin ist[/quote]
Code: (dl )
$zeile =~ s/([a-z]{2})/($1)/gi;
\n\n

<!--EDIT|opi|1144674241-->
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.
renee
 2006-04-10 17:05
#64671 #64671
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Das hört sich zwar sehr nach Hausaufgaben an, aber nun gut
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!usr/local/bin/perl
#
my $z = 1;
$text = '/SAN/content/cgi-bin/text';
open (INFO, $text);
@lines = <INFO>;
close (INFO);

foreach $zeile (@lines){
if ($zeile=~/[a-z]/ ) {
$zeile =~ s/(([A-Za-z])\2)/*$1*/g;
print "$z\t$zeile";
$z = $z +1;
}
else {
print "\t$zeile";
}
}


Dann solltest Du Dir vielleicht nocht die Einführung von Strat unter http://www.fabiani.net -- Vorträge -- Einführung in Perl anschauen und zum Verbessern vom Programmierstil und zur Vermeidung von Fehlern auch mal Wiki:diesen Artikel durchlesen.
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/
Crian
 2006-04-10 17:05
#64672 #64672
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
[quote=opi,10.04.2006, 15:03]
Code: (dl )
$zeile =~ s/([A-Z]{2})/($1)/g;
[/quote]
eher nicht:

Code: (dl )
1
2
3
4
5
6
C:\>perl
$zeile = 'ABCD';
$zeile =~ s/([A-Z]{2})/($1)/g;
print $zeile;
^Z
(AB)(CD)
\n\n

<!--EDIT|Crian|1144674348-->
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
renee
 2006-04-10 17:07
#64673 #64673
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
@opi: Das haut nicht ganz hin. Weil Du irgendwelche zwei Buchstaben nimmst...
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/
bloonix
 2006-04-10 17:08
#64674 #64674
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
[quote=Crian,10.04.2006, 15:00]$zeile =~ s~(([a-zäöüß])\2)~($1)~gi;[/quote]
mhmm... interessant! Hab ich garnicht dran gedacht...

Wie schaut es hiermit aus:

aeae
oeoe
ueue

Reine Neugier... wären das auch doppelte Buchstaben?
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.
bloonix
 2006-04-10 17:11
#64675 #64675
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
[quote=renee,10.04.2006, 15:07]@opi: Das haut nicht ganz hin. Weil Du irgendwelche zwei Buchstaben nimmst...[/quote]
stimmt, danke für den Hinweis (Crian 2)
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.
Crian
 2006-04-10 17:14
#64676 #64676
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
'aeae' wären für mich 4 Buchstaben. Auch bei 'Côôl' haben wir ein problem... aber das ignoriere ich erstmal.
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
sid burn
 2006-04-10 23:55
#64677 #64677
User since
2006-03-29
1520 Artikel
BenutzerIn

user image
Warum seid ihr den gegen die Strikte verwendung von "\w" ?
Immerhin erkennt es auch alle Möglichen Unicode Zeichen des Landes, sofern die Locale dementsprechend auch eingestellt ist.

Code: (dl )
1
2
3
$text = "@ARGV";
$text =~ s/(\w)\1/($1$1)/ig;
print $text, "\n";


Möchte man immer alle Unicode Zeichen erkennen, egal wie die Locale gerade eingestellt ist, dann sollte man "\X" nehmen. Das erkennt aber auch Japanische, Koreanische Zeichen etc. ...

Code: (dl )
1
2
3
$text = "@ARGV";
$text =~ s/(\X)\1/($1$1)/ig;
print $text, "\n";
\n\n

<!--EDIT|sid burn|1144699057-->
Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de
<< |< 1 2 3 >| >> 23 Einträge, 3 Seiten



View all threads created 2006-04-10 16:52.