Schrift
[thread]9002[/thread]

Buchstaben zählen



<< >> 6 Einträge, 1 Seite
Gast Gast
 2007-05-13 16:20
#76674 #76674
HaLLo!

Vieleicht kennen ein paar die Chatsoftware "gtchat".
Ich hab folgendes Problem, ich wiLL, dass beim Senden des Textes in denn Chat, dass die Buchstaben gezählt werden und in die Memberdatei eingetragen wird, die Zahl!
Wisst ihr eine möglichkeit?
bloonix
 2007-05-13 17:39
#76675 #76675
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
my $text = "Hello World!";
my $len = length($text);
print "Textlaenge: $len";
-----
Textlaenge: 12


oder

my $text = "Hello World!";
my $len  = 0;
$len++ for split(//, $text);
print "Textlaenge: $len\n"
-----
Textlaenge: 12
\n\n

<!--EDIT|opi|1179063747-->
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.
Linuxer
 2007-05-14 21:38
#76676 #76676
User since
2006-01-27
3875 Artikel
HausmeisterIn

user image
Hi,

vom split() würd ich abraten, eher tr nehmen:

Code: (dl )
1
2
3
$aa = 'Hallo';
$num = $aa =~ tr/[a-zA-Z]/[a-zA-Z]/;
print $num, $/;

Resultat:
Code: (dl )
5


Wobei beide Varianten (split und tr) ihren jeweiligen Nachteil haben.
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!
pq
 2007-05-14 21:48
#76677 #76677
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
[quote=Linuxer,14.05.2007, 19:38]
Code: (dl )
1
2
3
$aa = 'Hallo';
$num = $aa =~ tr/[a-zA-Z]/[a-zA-Z]/;
print $num, $/;
[/quote]
du meinst wohl
tr/a-zA-Z//;
die klammern sind ja keine buchstaben...
und den ersetzungsteil kann man auch einfach weglassen.\n\n

<!--EDIT|pq|1179165002-->
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
betterworld
 2007-05-14 23:18
#76678 #76678
User since
2003-08-21
2613 Artikel
ModeratorIn

user image
[quote=pq,14.05.2007, 19:48]die klammern sind ja keine buchstaben...[/quote]
Genauergesagt sind die Klammern ueberfluessig.  Sie bedeuten in diesem Fall, dass "[" nach "[" uebersetzt wird und "]" nach "]".  Also ein no-op.

Edit: Sorry, da es in diesem Fall wohl ums Zaehlen geht, sind sie doch kein no-op, sondern werden mitgezaehlt.\n\n

<!--EDIT|betterworld|1179170372-->
bloonix
 2007-05-14 23:25
#76679 #76679
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
Ich bin schlichtweg davon ausgegangen, dass der Threadersteller sich
falsch ausgedrückt hat und nicht die Buchstaben - das schrieb er
zwar -, sondern die Länge des Textes wissen wollte, der von Chattern
gepostet wird. Einfach nur von a-zA-Z auszugehen erschien mir für
einen Chat zu wenig. Mea culpa ;)
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.
<< >> 6 Einträge, 1 Seite



View all threads created 2007-05-13 16:20.