uppercase2lowercase und viceversa
Boris Hoeller
- perl
Hi,
Kleine Wochenendfrage: (hat auch ein wenig mit XML zu tun)
SCRIPT:
-- snip --
#!/usr/bin/perl -w
$string = "<TAG>hallo</TAG>";
print $string;
-- snap --
OUTPUT:
<tag>HALLO</tag>
TASK: What ist the magic Zeile?
Danke für einen Cloue!
bonngrüße
bho
$string = "<TAG>hallo</TAG>";
for(split(//,$string)) { (/[a-z]/) ? ($output .= uc) : ($output .= lc); }
print $output; # <tag>HALLO</tag>
Nicht ausprobiert, aber dürfte fürs Einfachste mal funktionieren.
$string = "<TAG>hallo</TAG>";
for(split(//,$string)) { (/[a-z]/) ? ($output .= uc) : ($output .= lc); }
print $output; # <tag>HALLO</tag>Nicht ausprobiert, aber dürfte fürs Einfachste mal funktionieren.
Thanx a lot - klappt hervorragend!
bonngrüße
bho
Hi!
$string = "<TAG>hallo</TAG>";
for(split(//,$string)) { (/[a-z]/) ? ($output .= uc) : ($output .= lc); }
print $output; # <tag>HALLO</tag>
Ja, funktioniert aber nur, wenn auch garantiert ist, dass vorher genau der invertierte Fall vom Wunschergebnis vorliegt. Ein Ausgangswert von "<Tag>Hallo</Tag>" wuerde jedoch zu "<tAG>hALLO</tAG>" konvertiert werden.
Schlage daher folgendes vor:
#!/usr/bin/perl -w
$string = "<TAG>hallo</TAG>";
$string = uc($string); # all to upper case
$string =~ s/(<.*?>)/lc($1)/eg; # <tags> to lower case
print $string;
Bye, Calocybe
Hallo Boris,
eine magische Zeile/Funktion habe ich bisher vergeblich gesucht.
Vielleicht gibt es sie irgendwo in den Untiefe diverser Bibilotheken.
Ich habe mir so beholfen:
sub changeCase
{
my @bCase = ("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","Ä","Ü","Ö");
my @sCase = ("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","ä","ü","ö");
my $repstring = $_[0];
my $repMode = $_[1];
foreach $c (0..29)
{ if($repMode eq "small") { $repstring =~ s/$bCase[$c]/$sCase[$c]/g; }
if($repMode eq "big") { $repstring =~ s/$sCase[$c]/$bCase[$c]/g; }}
return $repstring;
}
plump aber funktioniert
Stephan Schmid
eine magische Zeile/Funktion habe ich bisher vergeblich gesucht.
Vielleicht gibt es sie irgendwo in den Untiefe diverser Bibilotheken.
Upper-/Lowercase sind normale Funktionen wie split, etc...:
uc - return upper-case version of a string (SYNOPSIS: uc EXPR, uc)
lc - return lower-case version of a string (SYNOPSIS: lc EXPR, lc)
Gruss, Beat
geschreiben, getestet, begeistert
Hab ich in SELFHTML/Perl nicht gefunden ...?
Danke