- Telekom otthoni szolgáltatások (TV, internet, telefon)
- WLAN, WiFi, vezeték nélküli hálózat
- Milyen NAS-t vegyek?
- Microsoft Excel topic
- Crypto Trade
- Súlyos adatvédelmi botrányba kerülhet a ChatGPT az EU-ban
- MinDig TV
- Rendszergazda topic
- Mindenki AI-t akar, már 2025-re is eladták a HBM chipeket
- Proxmox VE
Új hozzászólás Aktív témák
-
Mijo
tag
Gondolom már nem aktuális, de jól esett kitalálni a megoldást:
#!/usr/bin/perl
use strict;
my @input = (
'1.+Béla',
'Örök+Eutanázia+Roberta',
'Kiss+Miska+András',
'Aaa+Aaa',
);
sub def_k {
shift =~ m/\+([^+]+)/;
return $1 || "";
}
my @output =
#map { $_->{'o'}}
sort { $a->{'k'} cmp $b->{'k'} }
map +{ 'o'=>$_, 'k'=> def_k($_) }, @input;
foreach my $o (@output) {
#print join( "\n", @output );
print $o->{'k'}.' -- '.$o->{'o'}."\n";
}Az alkalmazott ötlet a http://en.wikipedia.org/wiki/Schwartzian_transform. A két kommentelt sor a teszteléshez van, élesben az első map veszi ki az eredeti stringeket a hashekből.
Remélem valakinek még hasznos lesz!
Üdv: Mijo''Mit csinálnak a Windows gépek klaszterben? Hát egymás reset gombjait nyomkodják mikor másik elszáll...'' by Xebi@sg.hu
-
Mijo
tag
Szia!
Ha a számok kellenek, akkor ezt a reguláris kifejezést tudom javasolni:
$sor =~ m/^[^\d]*(\d{3})/;
$szam = $1;Ha a tényleg a pozíció érdekel:
$sor =~ m/^([^\d]*)\d{3}/;
$poz = length( $1 );És ezt lehet kombinálni is.
$sor =~ m/^([^\d]*)(\d{3})/;
$poz = length( $1 );
$szam = $2;Ajánlott olvasmány, ha Perlben sztringeket kell szabni-varrni:
http://perldoc.perl.org/perlre.htmlÜdv: Mijo
''Mit csinálnak a Windows gépek klaszterben? Hát egymás reset gombjait nyomkodják mikor másik elszáll...'' by Xebi@sg.hu
-
Mijo
tag
Azok a reguláris kifejezésből kapják az értéket, a ( és ) közötti részeket veszik fel.
$str = 'abcdef';
$str =~ m/(...)(...)/;
print $1; # 'abc'
print $2; # 'def'Amit linkeltem doksi oldal szépen leírja az összes lehetőséget. Ha magyarul szeretnéd inkább és nem ilyen mélységekben, ezt nézd meg:
http://nyelvek.inf.elte.hu/leirasok/Perl/Üdv: Mijo
''Mit csinálnak a Windows gépek klaszterben? Hát egymás reset gombjait nyomkodják mikor másik elszáll...'' by Xebi@sg.hu
-
Mijo
tag
Kezdetnek ezt a cikket, cikksorozatot megnézhetnéd, elég jól magyarázza az alapokat.
http://prog.hu/cikkek/443/Mintaillesztesek.htmlHa biztos vagy abban, hogy tab szeparált a sorod, ezt is használhatod:
$orszagnev = "USA Amerikai Csendes-óceáni szigetek 581 UMI UM ISO 3166-2:U";
chomp( $orszagnev );
@rekordok = split( /\t/, $orszagnev );
print "$rekordok[0]\n";Üdv: Mijo
''Mit csinálnak a Windows gépek klaszterben? Hát egymás reset gombjait nyomkodják mikor másik elszáll...'' by Xebi@sg.hu
Új hozzászólás Aktív témák
- sziku69: Szólánc.
- Wise (ex-TransferWise)
- Vicces képek
- Luck Dragon: Asszociációs játék. :)
- HiFi műszaki szemmel - sztereó hangrendszerek
- Főzőcskés topic
- Kerékpárosok, bringások ide!
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Milyen CPU léghűtést vegyek?
- Háztartási gépek
- További aktív témák...