|
| Splitte en tekst op i x karakterer Fra : KB |
Dato : 18-11-05 20:40 |
|
Hej
Jeg ønsker at splitte en tekst op i Chunk_Length karakterer.
my ($Text) = "Findes der bedre løsninger end denne?";
my ($Chunk_Length = 5;
my (@Text_Arr);
while (length($Text))
{
my ($SMS) = substr ($Text, 0, $Chunk_Length);
push @Text_Arr, $SMS;
$Text = substr ($Text, $Chunk_Length);
}
/KB
| |
Peter Makholm (18-11-2005)
| Kommentar Fra : Peter Makholm |
Dato : 18-11-05 21:10 |
|
"KB" <kb@kb.kb> writes:
> my ($Text) = "Findes der bedre løsninger end denne?";
> my ($Chunk_Length = 5;
> my (@Text_Arr);
>
> while (length($Text))
> {
> my ($SMS) = substr ($Text, 0, $Chunk_Length);
> push @Text_Arr, $SMS;
> $Text = substr ($Text, $Chunk_Length);
> }
Jeg ville nok foretrække denne løßning, men ellers kan man gøre noget
ala:
my $text = "findes der bedre løsninger end denne?"
my $chunk = 5;
my @chunks
@chunks = ($text =~ /.{1,$chunk}/g);
Jeg tvivler lidt på at en normal meningsfyldt definition af bedre vil
kunne gøre den udgave bedre. Den er i hvert fald mere obskur og derfor
sværre at vedligeholde.
--
Peter Makholm | 'Cause suicide is painless
peter@makholm.net | It brings on many changes
http://hacking.dk | And I can take or leave it if I please
| -- Suicide is painless
| |
KB (18-11-2005)
| Kommentar Fra : KB |
Dato : 18-11-05 21:20 |
|
"Peter Makholm" <peter@makholm.net> wrote in message
news:87acg1n2er.fsf@xyzzy.adsl.dk...
>
> @chunks = ($text =~ /.{1,$chunk}/g);
Den virker med linieskift, når man putter "s" bagpå:
@chunks = ($text =~ /.{1,$chunk}/gs);
Jeg havde faktisk prøvet noget a la den løsning, men forsøgte med split, og
det gav slet ikke det forventede resultat.
Tak for hjælpen,
KB
| |
Kim Schulz (18-11-2005)
| Kommentar Fra : Kim Schulz |
Dato : 18-11-05 21:18 |
|
On Fri, 18 Nov 2005 20:40:19 +0100
"KB" <kb@kb.kb> wrote:
> Hej
>
> Jeg ønsker at splitte en tekst op i Chunk_Length karakterer.
>
>
> my ($Text) = "Findes der bedre løsninger end denne?";
> my ($Chunk_Length = 5;
> my (@Text_Arr);
>
> while (length($Text))
> {
> my ($SMS) = substr ($Text, 0, $Chunk_Length);
> push @Text_Arr, $SMS;
> $Text = substr ($Text, $Chunk_Length);
> }
>
>
> /KB
>
>
Denne som dog ikke får "resten" med hvis strengens længde ikke er
delelig med 5.
my $Text = "Findes der bedre løsninger end denne?";
my @Text_Arr = unpack("A5" x (length($Text)/5), $Text);
| |
Peter Makholm (18-11-2005)
| Kommentar Fra : Peter Makholm |
Dato : 18-11-05 21:30 |
|
Kim Schulz <kim@schulz.dk> writes:
> my $Text = "Findes der bedre løsninger end denne?";
> my @Text_Arr = unpack("A5" x (length($Text)/5), $Text);
men
my @Text_Arr = unpack("A5" x (length($Text)/5) . "A" . (length($Text) % 5), $Text);
virker.
--
Peter Makholm | First you fall in love with Antarctica, and then it
peter@makholm.net | breaks your heart
http://hacking.dk | -- Antarctica
| |
Kim Schulz (18-11-2005)
| Kommentar Fra : Kim Schulz |
Dato : 18-11-05 21:52 |
|
On Fri, 18 Nov 2005 21:30:27 +0100
Peter Makholm <peter@makholm.net> wrote:
> Kim Schulz <kim@schulz.dk> writes:
>
> > my $Text = "Findes der bedre løsninger end denne?";
> > my @Text_Arr = unpack("A5" x (length($Text)/5), $Text);
>
> men
>
> my @Text_Arr = unpack("A5" x (length($Text)/5) . "A" . (length($Text)
> % 5), $Text);
>
> virker.
>
ahh ja smart nok!
| |
|
|