Schrift
[thread]6376[/thread]

Zu lange Wörter umbrechen

Leser: 3


<< |< 1 2 >| >> 14 Einträge, 2 Seiten
[E|B]
 2004-07-04 20:55
#83859 #83859
User since
2003-08-08
2561 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Hallo!
Hat jemand mal schnell einen Snippet, mit dem ich zu lange Wörter in einem String umbrechen kann? Es soll dann einfach nur ein Leerzeichen dazwischen gesetzt werden.
Beispiel:

Code: (dl )
$string = "aaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaa";


Nach acht a's soll ein Leerzeichen eingefügt werden. Das Wort ist variabel.
Gruß, Erik!

s))91\&\/\^z->sub{}\(\@new\)=>69\&\/\^z->sub{}\(\@new\)=>124\&\/\^z->sub{}\(\@new\)=>);
$_.=qq~66\&\/\^z->sub{}\(\@new\)=>93~;for(@_=split(/\&\/\^z->sub{}\(\@new\)=>/)){print chr;}

It's not a bug, it's a feature! - [CGI-World.de]
pq
 2004-07-04 21:04
#83860 #83860
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
s/(\w{8})(?=\w)/$1 /g;
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
format_c
 2004-07-04 21:14
#83861 #83861
User since
2003-08-04
1706 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Ganz elegant wäre ja TeX::Hyphen

Gruß Alex
[E|B]
 2004-07-04 22:02
#83862 #83862
User since
2003-08-08
2561 Artikel
HausmeisterIn
[Homepage] [default_avatar]
@pq

Danke, funtzt. Kannst du mir erklären, was das "=" da zu suchen hat? Oder steh ich nur auf dem Schlauch?
Gruß, Erik!

s))91\&\/\^z->sub{}\(\@new\)=>69\&\/\^z->sub{}\(\@new\)=>124\&\/\^z->sub{}\(\@new\)=>);
$_.=qq~66\&\/\^z->sub{}\(\@new\)=>93~;for(@_=split(/\&\/\^z->sub{}\(\@new\)=>/)){print chr;}

It's not a bug, it's a feature! - [CGI-World.de]
format_c
 2004-07-04 22:11
#83863 #83863
User since
2003-08-04
1706 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Das ist ein positive zerowidth lookahead Es schaut ob nach den Gecaptureden 8 Buchstaben ein weiterer kommt bezieht den weiteren jedoch nicht in die Ersetzung ein. Er guckt quasi etwas über den Rand.

perldoc perlre

Gruß Alex\n\n

<!--EDIT|format_c|1088964757-->
[E|B]
 2004-07-04 22:41
#83864 #83864
User since
2003-08-08
2561 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Oh, die ganzen Sachen kenn ich noch gar nicht. Cool! Danke.
Gruß, Erik!

s))91\&\/\^z->sub{}\(\@new\)=>69\&\/\^z->sub{}\(\@new\)=>124\&\/\^z->sub{}\(\@new\)=>);
$_.=qq~66\&\/\^z->sub{}\(\@new\)=>93~;for(@_=split(/\&\/\^z->sub{}\(\@new\)=>/)){print chr;}

It's not a bug, it's a feature! - [CGI-World.de]
Crian
 2004-07-05 14:48
#83865 #83865
User since
2003-08-04
5870 Artikel
ModeratorIn
[Homepage]
user image
[quote=format_c,04.07.2004, 19:14]Ganz elegant wäre ja TeX::Hyphen

Gruß Alex[/quote]
Ja, würd ich auch empfehlen. Wenn es nicht verfügbar ist und als Notbremse kannst Du ja hinterher mit einem Code wie dem von pq noch "Nachschneiden".
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
[E|B]
 2004-07-05 17:16
#83866 #83866
User since
2003-08-08
2561 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Das Modul ist nicht verfügbar und ich hab leider auch keine Möglichkeit es zu installieren.
Der Code von pq tut es ja, was ist an dem denn auszusetzen?
Gruß, Erik!

s))91\&\/\^z->sub{}\(\@new\)=>69\&\/\^z->sub{}\(\@new\)=>124\&\/\^z->sub{}\(\@new\)=>);
$_.=qq~66\&\/\^z->sub{}\(\@new\)=>93~;for(@_=split(/\&\/\^z->sub{}\(\@new\)=>/)){print chr;}

It's not a bug, it's a feature! - [CGI-World.de]
ptk
 2004-07-05 18:15
#83867 #83867
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Wenn du wirklich nur ganz viele As trennen willst, dann geht es auch mit der Regexp. Wenn du aber natuerlichsprachlichen Text nach richtigen Trennregeln trennen willst, dann ist TeX::Hyphen die bessere Wahl.
renee
 2004-07-05 18:22
#83868 #83868
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
TeX::Hyphen macht Silbentrennung (was ganz nett ist), pq's Code bricht "brutal" die Worte auseinander...

(Ich habe jetzt aber nix an pq's Code ausgesetzt, sondern eine Erklärung geschrieben ;-) )
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
<< |< 1 2 >| >> 14 Einträge, 2 Seiten



View all threads created 2004-07-04 20:55.