Schrift
[thread]9934[/thread]

string nach jeder 4000 Stelle ein TAB einsetzten (Seite 3)



<< |< 1 2 3 >| >> 30 Einträge, 3 Seiten
renee
 2007-08-03 14:46
#97402 #97402
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Wie oft machst Du das mit Dateien mit 100_000 Zeilen?? Deswegen sagte ich, dass man von Fall zu Fall unterscheiden muss...

Und auch 2 Sekunden sind bei einem Job, der über mehrere Tage läuft mehr als nur zu vernachlässigen!
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/
Gast Gast
 2007-08-03 18:21
#97437 #97437
Hallo @ opi !

Stimmt hatte dein Skript nicht verstanden, aber das war gestern !!!
Mir ist soeben aufgefallen, dass ich die $Tab Variable so setzten kann, dass ich den Rest was im $Tab übrig bleibt an das Ende des Records hängen kann.

Was ich vergessen hatte zu erwähnen ist, dass ich String in eine Tabelle einlesen möchte, welches aus 30 Spalten besteht. Aus diesem Grund die Tabs und es ist wichtig das die restlichen Tabs hinten gesetzt werden .
ich hoffe konnte mich verständlich ausdrücken.

bei den anderen Skript regex ist das nicht der falls, hier werden immer nur je nach String länge immer unterschiedliche tabs anzahl geschrieben.


mr-sansibar
 2007-08-03 18:24
#97439 #97439
User since
2006-04-13
90 Artikel
BenutzerIn
[default_avatar]
mr-sansibar+2007-08-02 17:39:47--
was ich ergänzend dazu sagen wollte.
bei den obigen Lösungen wo sie mit unpack1 und unpack2 gelöst worden sind, muss man vorab wissen wie lang ein string sein kann höchsten.

Es soll mir ja egal sein, welche Lösung du nun verwendest, denn das ist
ja hier kein Wettrennen, aber ich bin schon ein wenig enttäuscht, denn
du hast meine Lösung nicht verstanden geschweige es sauber getestet!


[/quote]

Hallo @ opi !

Stimmt hatte dein Skript nicht verstanden, aber das war gestern !!!
Mir ist soeben aufgefallen, dass ich die $Tab Variable so setzten kann, dass ich den Rest was im $Tab übrig bleibt an das Ende des Records hängen kann.

Was ich vergessen hatte zu erwähnen ist, dass ich String in eine Tabelle einlesen möchte, welches aus 30 Spalten besteht. Aus diesem Grund die Tabs und es ist wichtig das die restlichen Tabs hinten gesetzt werden .
ich hoffe konnte mich verständlich ausdrücken.

bei dem anderen Skript regex ist das nicht der falls, hier werden immer nur je nach String länge immer unterschiedliche tabs anzahl geschrieben.
bloonix
 2007-08-03 19:27
#97444 #97444
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
mr-sansibar+2007-08-03 16:24:16--
Mir ist soeben aufgefallen, dass ich die $Tab Variable so setzten kann, dass ich den Rest was im $Tab übrig bleibt an das Ende des Records hängen kann.

Das kannst du auch bei einer Regex. Die Regex gibt die Anzahl der
Änderungen zurück:

Code: (dl )
1
2
3
my $string = 'abcdefghijklmnopqrstuvwxyz';
my $count = $string =~ s/(.{2})/$1\t/g;
print $count, " Änderungen\n";


Code: (dl )
13 Änderungen

Somit kannst du auch locker feststellen, wieviel Tabs noch gesetzt werden müssen.
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.
Gast Gast
 2007-08-06 17:44
#97630 #97630
OK !
Wenn ich das Skript, welches die Tabs mit einem Regex-Ausdruck hinschreibt, in einem Unix-System ausführe, dann wird das Newline nach jedem Record nicht gesetzt.

Auf dem einem Windows-System klappt!

Ich versteh das nicht so ganz ???
mr-sansibar
 2007-08-06 17:46
#97631 #97631
User since
2006-04-13
90 Artikel
BenutzerIn
[default_avatar]
OK !
Wenn ich das Skript, welches die Tabs mit einem Regex-Ausdruck hinschreibt, in einem Unix-System ausführe, dann wird das Newline nach jedem Record nicht gesetzt.

Auf dem einem Windows-System klappt!

Ich versteh das nicht so ganz ???
renee
 2007-08-06 17:53
#97632 #97632
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Kannst Du den Code, den Du jetzt verwendest, posten?
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/
mr-sansibar
 2007-08-06 18:13
#97635 #97635
User since
2006-04-13
90 Artikel
BenutzerIn
[default_avatar]
Hat sich bereits erledigt !!!
mr-sansibar
 2007-09-21 17:02
#99817 #99817
User since
2006-04-13
90 Artikel
BenutzerIn
[default_avatar]
Hallo muss mich wieder bei Euch melden !
Und zwar geht es darum, dass ich gemerkt habe, wenn es sich um sehr lange Stringketten handelt, unterscheiden sich beide verfahren sehr stark voneinander


Stringlänge 250
_unpack2 140549/s -- -62%
_regex 368392/s 162% --

Stringlänge 500
Rate _unpack2 _regex
_unpack2 108668/s -- -52%
_regex 227950/s 110% --

Stringlänge 1000
Rate _unpack2 _regex
_unpack2 78118/s -- -38%
_regex 125237/s 60% --

Stringlänge 5000
Rate _regex _unpack2
_regex 16874/s -- -22%
_unpack2 21630/s 28% --

Stringlänge 10000
Rate _regex _unpack2
_regex 9437/s -- -17%
_unpack2 11366/s 20% --

Stringlänge 100000
Rate _regex _unpack2
_regex 863/s -- -28%
_unpack2 1191/s 38% --

Stringlänge 1000000
Rate _regex _unpack2
_regex 4.34/s -- -96%
_unpack2 116/s 2580% --


wie man hier sehen kann das bei einer hohen stringanzahl unpack effizienter läuft.
voran liegt dieses Phänomen, ich würde es sehr gerne wissen.
auf Literatur tips oder ähnliches würde ich mich ebenfalls sehr freuen !!!

für meinen fall würde sich die variante mit dem regex besser empfehlen, da ich meistens stringlängen zwischen 100 und 500 haben.

viele grüße

#Kein Kommentar
 2007-09-21 19:07
#99832 #99832
User since
2007-06-09
575 Artikel
HausmeisterIn
[default_avatar]
regex sind meistens langsamer als Perl-funktionen
Gerade weil wir alle in einem Boot sitzen, sollten wir froh sein, dass nicht alle auf unserer Seite sind
<< |< 1 2 3 >| >> 30 Einträge, 3 Seiten



View all threads created 2007-08-02 13:42.