1 |
csütörtök 23 szeptember 2004 16:18 dátummal Botykai Zsolt ezt írta: |
2 |
> Sziasztok, az alábbi problémám van: |
3 |
> van egy csomó text file-om amiben hasznos szöveg van kb az alábbi |
4 |
> eloszlásban: |
5 |
> |
6 |
> <haszontalan szöveg> |
7 |
> <határoló> |
8 |
> <egy vagy fölös üres (maximum space-t vagy tab-ot tartalmazó sor)> |
9 |
> <hasznos szöveg> |
10 |
> <egy vagy fölös üres (maximum space-t vagy tab-ot tartalmazó sor)> |
11 |
> <hasznos szöveg> |
12 |
> <egy vagy fölös üres (maximum space-t vagy tab-ot tartalmazó sor)> |
13 |
> <hasznos szöveg> |
14 |
> <egy vagy fölös üres (maximum space-t vagy tab-ot tartalmazó sor)> |
15 |
> <határoló> |
16 |
> <haszontalan szöveg> |
17 |
> |
18 |
> ezzel a scripttel "gyönyörűen" kinyerem a <határoló>-k közötti részt. |
19 |
> csakhogy ki szeretném vágni belőle a <egy vagy fölös üres (maximum space-t |
20 |
> vagy tab-ot tartalmazó) sor>-t is... |
21 |
> vmi ötlet? |
22 |
> |
23 |
> import sys |
24 |
> import re |
25 |
> data = sys.stdin.read() |
26 |
> match_body = re.compile( |
27 |
> r"""--==--.+--==--""", |
28 |
> re.DOTALL | |
29 |
> re.MULTILINE | |
30 |
> re.VERBOSE) |
31 |
> f_body = match_body.search(data) |
32 |
> o_output = f_body.group() + "\n" |
33 |
> sys.stdout.write(o_output) |
34 |
> |
35 |
> Zsoltik@ |
36 |
> |
37 |
|
38 |
Python megoldás: |
39 |
match_body = re.compile( |
40 |
r"""--==--==--==--==--.(.+.--==--==--==--==--\n)""", |
41 |
re.DOTALL | |
42 |
re.MULTILINE | |
43 |
re.VERBOSE) |
44 |
rm_els = re.compile(r'(^|\n)\s*(\n|$)') |
45 |
f_body = match_body.search(data) |
46 |
o_output = f_body.group(1) + "\n" |
47 |
o_output = rm_els.sub(r'\1', o_output) |
48 |
|
49 |
Kössz az ötleteket is. |
50 |
Zsoltik@ |
51 |
|
52 |
-------------------------------------------------------------------------- |
53 |
|
54 |
Opinions, conclusions and other information in this message that do not |
55 |
relate to the official business of Online Business Technologies Corp. |
56 |
shall be understood as neither given nor endorsed by it. In such cases |
57 |
Online Business Technologies Corp. will not bear the responsibility of |
58 |
consequences. |
59 |
If you have received this communication in error, please notify the |
60 |
system manager immediately by responding to this email and then delete |
61 |
it from your system. |
62 |
|
63 |
|
64 |
A levelben foglalt, nem az Online Rt. hivatalos uzletmenetevel kapcsolatos |
65 |
velemenyek vagy mas informaciok vonatkozasaban az Online Rt. nem vallal |
66 |
felelosseget. |
67 |
Amennyiben a level valamely hiba folytan jutott Onhoz, kerjuk, hogy |
68 |
valaszlevelben azonnal ertesitse a rendszer uzemeltetojet, majd torolje ki |
69 |
a levelet rendszerebol! |