text filetieren
am 29.03.2007 21:27:55 von Patrick Bates
hallo!
ich habe einen textblock mit einer beliebigen anzahl zeichen, etwa 200.
nun soll der text in einzelne blöcke von maximal 60 zeichen geteilt werden.
ich mach das mit
foreach my $string (@textblock){
if (length($ausgabe) + length($string) <= 60)
{$ausgabe .= "$string ";}
else
{$ausdruck .= $ausgabe;}
das problem dabei ist, dass ich nicht draufkomme, wie ich es anstelle, dass
ich zu einer ausgabe komme, wenn der string nicht 60 zeichen lang wird, und
wie
ich den 'restlichen' text (zeichen 61 ... 80) rausbekomme.
greets
-/--\-
alex
Re: text filetieren
am 29.03.2007 22:03:14 von Christian Winter
Alexander Kainz schrieb:
> hallo!
>
> ich habe einen textblock mit einer beliebigen anzahl zeichen, etwa 200.
>
> nun soll der text in einzelne blöcke von maximal 60 zeichen geteilt werden.
>
> ich mach das mit
>
> foreach my $string (@textblock){
> if (length($ausgabe) + length($string) <= 60)
> {$ausgabe .= "$string ";}
> else
> {$ausdruck .= $ausgabe;}
>
> das problem dabei ist, dass ich nicht draufkomme, wie ich es anstelle, dass
> ich zu einer ausgabe komme, wenn der string nicht 60 zeichen lang wird, und
> wie
> ich den 'restlichen' text (zeichen 61 ... 80) rausbekomme.
Ist das interesse akademischer Natur, oder reicht ein Hinweis auf
Text::Wrap?
-Christian
Re: text filetieren
am 30.03.2007 10:19:10 von Jan Teune
Moin Alex...
wie wärs mit einem:
$string =~ s/(.{60,60})/$1\n/g;
print $string;
das sollte deinen string in 60er-Blöcke zerhackstückeln
ist der string kürzer, matcht der ausdruck nicht mehr und du
printest einfach den string...
Gruss
Jan
PS: sorry für die 2 Anglizismen in meinem Posting ;-)
Alexander Kainz schrieb:
> hallo!
>
> ich habe einen textblock mit einer beliebigen anzahl zeichen, etwa 200.
>
> nun soll der text in einzelne blöcke von maximal 60 zeichen geteilt werden.
>
> ich mach das mit
>
> foreach my $string (@textblock){
> if (length($ausgabe) + length($string) <= 60)
> {$ausgabe .= "$string ";}
> else
> {$ausdruck .= $ausgabe;}
>
> das problem dabei ist, dass ich nicht draufkomme, wie ich es anstelle, dass
> ich zu einer ausgabe komme, wenn der string nicht 60 zeichen lang wird, und
> wie
> ich den 'restlichen' text (zeichen 61 ... 80) rausbekomme.
>
>
> greets
> -/--\-
> alex
>
>