Anzahl unterschiedlicher Zeichen in einem String berechnen?
Schnaps
- perl
0 Eternius0 Christian Kruse0 oesi50
Guten Morgen
Also mein Problem habe ich eigentlich schon in der Überschrift geschrieben.
ich habe einen string und möchte gerne wissen wieviele unterschiedliche Zeichen in diesem enthalten sind.
bräuchte eine grobe Richtung oder einen Ansatz wie ich es am besten angehen sollte.
MFG
Schnaps
Hallo,
ich würd ein hash nehmen.
du durchläufst den den string von vorne bis hinten, nimmst immer einen buchstaben, guckst ob in $hash{$buchstabe} schon was drinsteht, wenn nicht legst du einen neuen eintrag an $hash{$buchstabe}=1; wenn ja, dann inkrementierst du nur $hash{$buchstabe}++;
am ende kannst du dann die vorhandenen buchstaben mit
foreach(keys(%hash)){print $_.":".$hash{$_}."<br>\n";} anzeigen lassen.
gruss
Hallo Schnaps,
ich habe einen string und möchte gerne wissen wieviele unterschiedliche Zeichen in diesem
enthalten sind.
my $str = 'aaabbbccc';
my %hash = ();
$hash{$_} = 1 foreach split // => $str;
print "String hat ",scalar keys %hash," unterschiedliche Buchstaben\n";
Grüße,
CK
Hallo Schnaps,
lies mal das:
perlfaq4 - Data Manipulation
If you want a count of a certain single character (X) within a string, you can use the tr/// function like so:
$string = "ThisXlineXhasXsomeXx'sXinXit";
$count = ($string =~ tr/X//);
print "There are $count X characters in the string";
Grüße Oesi