einfach-mark
Goto Top

Script zum Löschen von Zeilen aus einem Textdokument?

Guten Morgen,

ein kurzes persönliches Vorwort? Wie wärs mit:

Ich habe mich heute hier Angemeldet, um in die Riege der Experten zu kommen, die mir hoffentlich bei meinem Problem helfen können face-smile

Danke,

Mark face-smile

Hier nun mein Beitrag:

Eine kurze Erklärung zur Frage:

Ich extrahieren die folgenden Textzeilen aus einem PDF-Dokument. Die Textzeilen geben mir an, an welcher Position in dem Dokument welches Wort steht:

<data x="12700" y="4876" width="2857" height="494" numChars="15">Lieferanten-Nr.</data>
<data x="16199" y="4876" width="424" height="494" numChars="2">20</data>
<data x="16256" y="6092" width="1270" height="232" numChars="10">BC39_13_20</data>

Die Textdatei wird in einen Temporären Ordner geschrieben:

C:\Temp\Zwischenverzeichnis

und bekommt von mir den Namen des Jobs, den die Software per Zufall und Variabel %f vergibt:

job00ZEUFSYUBKRC0E2B910AB.dat

Aus diesem Dokument müssen nun alle Zeilen die mit

<data

anfangen und nicht

BC

enthalten gelöscht werden, das ganze am liebsten mit einem VB-Script, da ich diese aus der Software heraus ansteuern kann.

Gibt es hierfür eine Lösung? face-smile

Anbei noch ein Großteil entsprechenden des Textes:
<?xml version="1.0" encoding="ISO-8859-1"?>  
<pages count="4" xmlns="urn://www.objectiflune.com/xyxml-1.0">  
  <page number="1" items="64">  
    <data x="15799" y="840" width="965" height="480" numChars="6">Seite:</data>  
    <data x="17298" y="840" width="1588" height="480" numChars="10">1  von   4</data>  
    <data x="15799" y="1264" width="1270" height="479" numChars="6">Datum:</data>  
    <data x="17298" y="1264" width="1905" height="479" numChars="10">15.04.2011</data>  
    <data x="1101" y="1518" width="2434" height="741" numChars="9">Packliste</data>  
    <data x="1101" y="2939" width="4126" height="480" numChars="4">Moep</data>  
    <data x="1101" y="3363" width="3010" height="479" numChars="13">GmbH &amp; Co. KG</data>  
    <data x="1101" y="3786" width="1658" height="480" numChars="14">Teststrasse 11</data>  
    <data x="1101" y="4209" width="3092" height="480" numChars="17">19243 Musterstadt</data>  
    <data x="12700" y="4377" width="4504" height="494" numChars="4">Moep</data>  
    <data x="12700" y="4876" width="2857" height="494" numChars="15">Lieferanten-Nr.</data>  
    <data x="16199" y="4876" width="424" height="494" numChars="2">20</data>  
    <data x="16256" y="6092" width="1270" height="232" numChars="10">BC39_13_20</data>  
    <data x="1270" y="6376" width="3116" height="493" numChars="15">Paket Nr. 12345</data>  
    <data x="1270" y="7236" width="1176" height="480" numChars="5">Menge</data>  
    <data x="4318" y="7236" width="1434" height="480" numChars="8">Material</data>  
    <data x="6350" y="7236" width="3574" height="480" numChars="19">Materialbezeichnung</data>  
    <data x="16141" y="7236" width="2399" height="480" numChars="13">Lieferung/Pos</data>  
    <data x="6350" y="7660" width="1764" height="479" numChars="10">Zusatztext</data>  
    <data x="1270" y="7744" width="17357" height="480" numChars="82">__________________________________________________________________________________</data>  
    <data x="1729" y="9014" width="2081" height="480" numChars="13">     5.000 ST</data>  
    <data x="4318" y="9014" width="1587" height="480" numChars="8">1045494 </data>  
    <data x="6350" y="9014" width="4609" height="480" numChars="22">T491 D 476K 025AT 7280</data>  
    <data x="15460" y="9014" width="3081" height="480" numChars="15">80243262/000010</data>  
    <data x="6350" y="9438" width="4441" height="479" numChars="24">47µF 10% 25V 13&quot;      D3</data>  
    <data x="15469" y="9438" width="1035" height="479" numChars="4">RoHS</data>  
    <data x="1270" y="11803" width="2032" height="233" numChars="16">BC39_13_80243262</data>  
    <data x="6770" y="11803" width="2286" height="233" numChars="18">BC39_13_22.05.2006</data>  
    <data x="1270" y="12029" width="2413" height="223" numChars="19">Lieferung: 80243262</data>  
    <data x="6770" y="12029" width="2667" height="223" numChars="21"> LS-Datum: 22.05.2006</data>  
    <data x="1270" y="14177" width="2032" height="233" numChars="16">BC39_13_P2014057</data>  
    <data x="6770" y="14177" width="1397" height="233" numChars="11">BC39_13_   </data>  
    <data x="1270" y="14403" width="2667" height="223" numChars="21">Ihr Auftrag: P2014057</data>  
    <data x="6770" y="14403" width="1270" height="223" numChars="10"> Pos.:    </data>  
    <data x="1270" y="16340" width="2921" height="233" numChars="23">BC39_13_H060I1019U04703</data>  
    <data x="11269" y="16340" width="2033" height="233" numChars="16">BC39_13_   5.000</data>  
    <data x="1270" y="16565" width="3683" height="224" numChars="29">Ihre Mat.-Nr.:H060I1019U04703</data>  
    <data x="11269" y="16565" width="1905" height="224" numChars="15">   Gesamtmenge:</data>  
    <data x="14169" y="16565" width="1016" height="224" numChars="8">5.000   </data>  
    <data x="11269" y="16777" width="2033" height="223" numChars="16">   Chargenmenge:</data>  
    <data x="14169" y="16777" width="1016" height="223" numChars="8">5.000   </data>  
    <data x="1270" y="17491" width="17357" height="480" numChars="82">__________________________________________________________________________________</data>  
    <data x="1623" y="19185" width="2187" height="479" numChars="13">    20.000 ST</data>  
    <data x="4318" y="19185" width="1587" height="479" numChars="8">1034030 </data>  
    <data x="6350" y="19185" width="4598" height="479" numChars="21">C0805 C102K5 RAC 7210</data>  
    <data x="15460" y="19185" width="3081" height="479" numChars="15">80243263/000010</data>  
    <data x="6350" y="19608" width="4618" height="480" numChars="22">1000pF 10% 50V X7R 13&quot;</data>  
    <data x="15469" y="19608" width="1035" height="480" numChars="4">RoHS</data>  
    <data x="1270" y="21974" width="2032" height="232" numChars="16">BC39_13_80243263</data>  
    <data x="6770" y="21974" width="2286" height="232" numChars="18">BC39_13_22.05.2006</data>  
    <data x="1270" y="22199" width="2413" height="224" numChars="19">Lieferung: 80243263</data>  
    <data x="6770" y="22199" width="2667" height="224" numChars="21"> LS-Datum: 22.05.2006</data>  
    <data x="1270" y="24348" width="2032" height="233" numChars="16">BC39_13_P2014094</data>  
    <data x="6770" y="24348" width="1397" height="233" numChars="11">BC39_13_   </data>  
    <data x="1270" y="24573" width="2667" height="224" numChars="21">Ihr Auftrag: P2014094</data>  
    <data x="6770" y="24573" width="1270" height="224" numChars="10"> Pos.:    </data>  
    <data x="1270" y="26510" width="2921" height="233" numChars="23">BC39_13_H060I0032N00100</data>  
    <data x="11269" y="26510" width="2033" height="233" numChars="16">BC39_13_  40.000</data>  
    <data x="1270" y="26736" width="3683" height="223" numChars="29">Ihre Mat.-Nr.:H060I0032N00100</data>  
    <data x="11269" y="26736" width="1905" height="223" numChars="15">   Gesamtmenge:</data>  
    <data x="14169" y="26736" width="1016" height="223" numChars="8">40.000  </data>  
    <data x="11269" y="26948" width="2033" height="223" numChars="16">   Chargenmenge:</data>  
    <data x="14169" y="26948" width="1016" height="223" numChars="8">20.000  </data>  
    <data x="1270" y="27542" width="10265" height="494" numChars="55">Die Summe aller Positionen entspricht dem Lieferschein </data>  
  </page>
  <page number="2" items="52">  
    <data x="15900" y="740" width="964" height="479" numChars="6">Seite:</data>  
    <data x="17399" y="740" width="1587" height="479" numChars="10">2  von   4</data>  
    <data x="15900" y="1163" width="1270" height="480" numChars="6">Datum:</data>  
    <data x="17399" y="1163" width="1905" height="480" numChars="10">15.04.2011</data>  
    <data x="1270" y="2876" width="17357" height="479" numChars="82">__________________________________________________________________________________</data>  
    <data x="1623" y="4569" width="2187" height="480" numChars="13">    30.000 ST</data>  
    <data x="4318" y="4569" width="1587" height="480" numChars="8">1039088 </data>  
    <data x="6350" y="4569" width="4680" height="480" numChars="21">MMU 0102-50 1% B0 3K6</data>  
    <data x="15460" y="4569" width="3081" height="480" numChars="15">80243612/000010</data>  
    <data x="15469" y="4993" width="1035" height="479" numChars="4">RoHS</data>  
    <data x="1270" y="7358" width="2032" height="233" numChars="16">BC39_13_80243612</data>  
    <data x="6770" y="7358" width="2286" height="233" numChars="18">BC39_13_23.05.2006</data>  
    <data x="1270" y="7584" width="2413" height="223" numChars="19">Lieferung: 80243612</data>  
    <data x="6770" y="7584" width="2667" height="223" numChars="21"> LS-Datum: 23.05.2006</data>  
    <data x="1270" y="9732" width="2032" height="233" numChars="16">BC39_13_P2014510</data>  
    <data x="6770" y="9732" width="1397" height="233" numChars="11">BC39_13_   </data>  
    <data x="1270" y="9958" width="2667" height="223" numChars="21">Ihr Auftrag: P2014510</data>  
    <data x="6770" y="9958" width="1270" height="223" numChars="10"> Pos.:    </data>  
    <data x="1270" y="11895" width="2921" height="233" numChars="23">BC39_13_H061JK00360B105</data>  
    <data x="11269" y="11895" width="2033" height="233" numChars="16">BC39_13_  30.000</data>  
    <data x="1270" y="12120" width="3683" height="224" numChars="29">Ihre Mat.-Nr.:H061JK00360B105</data>  
    <data x="11269" y="12120" width="1905" height="224" numChars="15">   Gesamtmenge:</data>  
    <data x="14169" y="12120" width="1016" height="224" numChars="8">30.000  </data>  
    <data x="11269" y="12332" width="2033" height="223" numChars="16">   Chargenmenge:</data>  
    <data x="14169" y="12332" width="1016" height="223" numChars="8">30.000  </data>  
    <data x="1270" y="13046" width="17357" height="480" numChars="82">__________________________________________________________________________________</data>  
    <data x="1623" y="14740" width="2187" height="479" numChars="13">    60.000 ST</data>  
    <data x="4318" y="14740" width="1587" height="479" numChars="8">1043708 </data>  
    <data x="6350" y="14740" width="4680" height="479" numChars="21">MMU 0102-50 1% B0 24K</data>  
    <data x="15460" y="14740" width="3081" height="479" numChars="15">80243612/000020</data>  
    <data x="15469" y="15163" width="1035" height="480" numChars="4">RoHS</data>  
    <data x="1270" y="17740" width="2032" height="233" numChars="16">BC39_13_P2014510</data>  
    <data x="6770" y="17740" width="1397" height="233" numChars="11">BC39_13_   </data>  
    <data x="1270" y="17966" width="2667" height="223" numChars="21">Ihr Auftrag: P2014510</data>  
    <data x="6770" y="17966" width="1270" height="223" numChars="10"> Pos.:    </data>  
    <data x="1270" y="19903" width="2921" height="233" numChars="23">BC39_13_H061JK02400B105</data>  
    <data x="11269" y="19903" width="2033" height="233" numChars="16">BC39_13_  60.000</data>  
    <data x="1270" y="20128" width="3683" height="224" numChars="29">Ihre Mat.-Nr.:H061JK02400B105</data>  
    <data x="11269" y="20128" width="1905" height="224" numChars="15">   Gesamtmenge:</data>  
    <data x="14169" y="20128" width="1016" height="224" numChars="8">60.000  </data>  
    <data x="11269" y="20340" width="2033" height="223" numChars="16">   Chargenmenge:</data>  
    <data x="14169" y="20340" width="1016" height="223" numChars="8">60.000  </data>  
    <data x="1270" y="21054" width="17357" height="480" numChars="82">__________________________________________________________________________________</data>  
    <data x="1623" y="22748" width="2187" height="479" numChars="13">    20.000 ST</data>  
    <data x="4318" y="22748" width="1587" height="479" numChars="8">1012215 </data>  
    <data x="6350" y="22748" width="4868" height="479" numChars="22">MMA 0204-50 1% B0 220R</data>  
    <data x="15460" y="22748" width="3081" height="479" numChars="15">80243613/000010</data>  
    <data x="15469" y="23171" width="1035" height="480" numChars="4">RoHS</data>  
    <data x="1270" y="25537" width="2032" height="232" numChars="16">BC39_13_80243613</data>  
    <data x="6770" y="25537" width="2286" height="232" numChars="18">BC39_13_23.05.2006</data>  
    <data x="1270" y="25762" width="2413" height="224" numChars="19">Lieferung: 80243613</data>  
    <data x="6770" y="25762" width="2667" height="224" numChars="21"> LS-Datum: 23.05.2006</data>  
  </page>

[Edit Biber] Codeformat [/Edit]

Content-Key: 164652

Url: https://administrator.de/contentid/164652

Printed on: April 24, 2024 at 16:04 o'clock

Mitglied: 99045
99045 Apr 15, 2011 at 08:48:14 (UTC)
Goto Top
Hallo und willkommen im Forum.

Wenn du der Riege der Experten ankommen möchtest, solltest du dich zuerst einmal mit der Suchfunktion (oben rechts) und dem Thema "Löschen von Zeilen" beschäftigen.
Das wurde nämlich schon bis zum Erbrechen durchgekaut. face-wink

Gruß
Member: einfach-mark
einfach-mark Apr 15, 2011 at 10:37:17 (UTC)
Goto Top
Hallo Kaputtnick,

vielen Dank für die Begrüßung face-smile

Ich hatte mir schon gedacht, das ich solch eine Antwort bekommen werde. Natürlich habe ich bereits die interne Suche (z.B. VBS - bestimmte Zeilen löschen ) sowie auch Meister google verwendet, aber leider habe ich noch kein Script gefunden was ich verstehe und passend umschreiben könnte. Ich habe zwar Grundkenntnisse vom Programmieren aus der Berufsschule, aber die ist auch schon wieder einige Jahre her ... so 6 face-smile

Deshalb auch meine Nachfrage face-smile
Mitglied: 99045
99045 Apr 15, 2011 at 11:15:03 (UTC)
Goto Top
Hi,

na ja, der Ansatz ist doch schon auf dem richtigen Weg. Jetzt musst du nur noch die Tipps von bastla so umbauen, dass nicht nach "|S|", sondern nach ">BC" gesucht wird. face-wink

Experte wird man nur durch Erfahrung. Und die Erfahrung bekommt man, wenn man auch selbst ausprobiert.

Präsentiere uns deine erarbeitete Lösungsmöglichkeit in Code-Tags und dann sehen wir weiter.

Gruß
Member: Skyemugen
Skyemugen Apr 15, 2011 at 11:23:03 (UTC)
Goto Top
Aloha Kaputtnick,

dann würde er aber genau das löschen, was er behalten will, wenn er deinen Rat befolgt ...

greetz André

warum gibt's in diesem Forum keine ignore-Funktion ...
Mitglied: 99045
99045 Apr 15, 2011 at 11:33:32 (UTC)
Goto Top
Sicher ist er im Gegensatz zu dir so intelligent, dass er weiß, was umbauen bedeutet.
Member: einfach-mark
einfach-mark Apr 20, 2011 at 18:54:41 (UTC)
Goto Top
Hallöchen,

hier ist mal ein Ansatz von mir ...
Set fso = CreateObject("Scripting.FileSystemObject")   
DateiEin = "D:\Datei.txt"   
DateiAus = "D:\Datei_neu.txt"   
T = Split(fso.OpenTextFile(DateiEin).ReadAll, vbCrLF) 
Set Ausgabe = fso.CreateTextFile(DateiAus, True) 
For Each Z In T 
   If Left(Z, 5) = "<data" Then   
	if Instr(Z,"BC") > 0 then  
		Ausgabe.WriteLine Z
	end if
   end if
Next 
Ausgabe.Close

[Edit Biber] Codeformatierung un Willkommen in Forum. [/Edit]