Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Entfernen eines Strings vor einem bestimmten Zeichens in einer Textdatei

Frage Entwicklung Batch & Shell

Mitglied: Privex007

Privex007 (Level 1) - Jetzt verbinden

05.11.2014, aktualisiert 12:08 Uhr, 795 Aufrufe, 3 Kommentare

Hallo an alle Coder,

ich habe Probleme mit dem extrahieren eines String aus einer "txt"-Datei.
Ich habe folgende Zeilen untereinander stehen:

thues||||01722640180d2
err|Ing|Kietz||||0205656292-0001
hner||||020853272-001

Als Extrahierung möchte ich gerne folgendes in einer separaten "txt"-Datein erhalten:

01722640180d2
0205656292-0001
020853272-001

Also alles was vor dem letzten "|" steht soll weg inklusive dem "|"-Zeichen.

Wie muss ich mein Script ändern?

Ich habe folgendes für das Entfernen einer kompletten Zeile:

Const FOR_READING = 1
Const FOR_WRITING = 2
strFileName = "C:\Dokumente und Einstellungen\user\Eigene Dateien\Downloads\Scripts\Without_String.txt"
strCheckForString = UCase("String")

Set objFS = CreateObject("Scripting.FileSystemObject")
Set objTS = objFS.OpenTextFile(strFileName, FOR_READING)
strContents = objTS.ReadAll
objTS.Close

arrLines = Split(strContents, vbNewLine)
Set objTS = objFS.OpenTextFile(strFileName, FOR_WRITING)

For Each strLine In arrLines
If Not(Left(UCase(LTrim(strLine)),Len(strCheckForString)) = strCheckForString) Then
objTS.WriteLine strLine
End If
Next

Aber ich möchte ja nicht die ganze Zeile löschen, sondern nur einzelne Characters vor einem beliebigem Zeichen.

Geht das?

Danke für eure Hilfe!

Gruß

Privex007
Mitglied: rschwarz
05.11.2014 um 11:44 Uhr
Hi!
Wenn Perl auch in Frage kommt, dann geht das (u.a.) so:

#!/usr/bin/perl
use strict();
use warnings();

my $file=$ARGV[0];
die("Bitte Datei mit angeben\n") if(! $file);
die("Datei $file existiert nicht") if(! -f $file);

open(IN, $file) || die("Kann Datei $file nicht oeffnen");
open(OUT, ">".$file.".new") || die("Kann Ausgabedatei nicht schreiben");

while(my $line=<IN>) {
chomp($line);
$line =~ s/.*\|//;
print "Debug: ".$line."\n";
print OUT $line."\n";
}
close(IN);
close(OUT);

VG!
Ralf
Bitte warten ..
Mitglied: colinardo
LÖSUNG 05.11.2014, aktualisiert um 12:08 Uhr
Hallo privex,
kein Problem:
01.
Dim fso,regex,matches,match,objOut 
02.
Const FILEIN = "C:\temp\test.txt" 
03.
Const FILEOUT = "C:\temp\test_out.txt" 
04.
 
05.
Set fso = CreateObject("Scripting.Filesystemobject") 
06.
Set regex = CreateObject("vbscript.regexp") 
07.
 
08.
'Textdatei einlesen 
09.
strContent = fso.OpenTextFile(FILEIN,1).ReadAll() 
10.
 
11.
'Regex Parameter setzen 
12.
regex.Global = True: regex.IgnoreCase = True: regex.MultiLine = True 
13.
regex.Pattern = "\|([^\|]+)$" 
14.
 
15.
'Regex ausführen 
16.
set matches = regex.Execute(strContent) 
17.
 
18.
If matches.count > 0 Then 
19.
	Set objOut = fso.OpenTextFile(FILEOUT,2,True) 
20.
	For each match in matches 
21.
		objOut.WriteLine match.submatches(0) 
22.
	Next 
23.
	objOut.Close 
24.
End If 
25.
 
26.
MsgBox "Fertig" 
27.
Set fso = Nothing 
28.
Set regex = Nothing
Grüße Uwe
Bitte warten ..
Mitglied: Privex007
05.11.2014 um 12:08 Uhr
Perfekt danke!!!!
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Zeichen aus einem String entfernen
gelöst Frage von JimStarBatch & Shell3 Kommentare

Guten Tag zusammen, ich möchte folgendes tun: In einer Textdatei, steht eine Zeile. Diese beinhaltet z.B.: Diese Textzeile muss ...

Batch & Shell
Powershell In Textdatei Nach bestimmter Zeichenfolgen in String suchen und diese Strings dann löschen
gelöst Frage von PinkFLuffyUnicornBatch & Shell5 Kommentare

Hi, ich habe folgendes Vorhaben: Ich muss die Logdateien von dem Minecraftserver eines Freundes Nach bestimmten Zeichenfolgen in den ...

Batch & Shell
Bestimmte Zeichen per Batch aus Dateinamen entfernen
gelöst Frage von wollebeeBatch & Shell6 Kommentare

Ich bekomme Dateien, bei denen ich automatisch per Batch den Dateinamen ändern möchte. Nun besteht der erste Teil des ...

Visual Studio
VBScript Zeichenfolge aus String entfernen
gelöst Frage von Leogal0010Visual Studio1 Kommentar

Hallo, Community! Ich habe da ein Problem: Ich schreibe einen kleinen "LAN-Chat" mit VBScript/VBS. D.h. auf einem Laufwerk, auf ...

Neue Wissensbeiträge
Internet

Was nützt HTTPS, wenn es auch von Phishing Web-Seiten genutzt wird

Information von Penny.Cilin vor 2 TagenInternet17 Kommentare

HTTPS richtig einschätzen Ob man eine Webseite via HTTPS aufruft, zeigt ein Schloss neben der Adresse im Webbrowser an. ...

Webbrowser

Bugfix für Firefox Quantum released - Installation erfolgt teilweise nicht automatisch!

Erfahrungsbericht von Volchy vor 3 TagenWebbrowser7 Kommentare

Hallo zusammen, gem. dem Artike von heise online wurde mit VersionFirefox 57.0.1 sicherheitsrelevante Bugs behoben. Entgegen der aktuellen Veröffentlichung ...

Sicherheit

Teamviewer Sessions können gekapert werden - Update tw. verfügbar

Information von sabines vor 3 TagenSicherheit6 Kommentare

In bestimmten Konstellationen können Teamviewer Sessions gekapert werden, wahrscheinlich aber ein recht unwahrscheinliches Szenario. Da der Teamviewer gerne für ...

Digitiales Fernsehen

Apple TV: Amazon Prime App ist verfügbar

Information von Frank vor 4 TagenDigitiales Fernsehen4 Kommentare

Die Amazon Prime Video App kann ab sofort auf einem Apple TV ab der 3 Generation installiert werden. Einfach ...

Heiß diskutierte Inhalte
Vmware
Installation Windows 10 VMware
Frage von Ghost108Vmware17 Kommentare

Hallo zusammen, versuche gerade mit Hilfe des vshpere clients eine virtuelle Windows 10 maschine aufzusetzen. 1. virtuelle Maschine erstellt ...

Exchange Server
SBS 2011 E-Mails können gesendet werden, aber nicht von extern empfangen
Frage von andreas1234Exchange Server14 Kommentare

Hallo Community, ich habe das Problem, dass seit knapp zwei Wochen die E-Mails von meinem SBS 2011 einwandfrei gesendet ...

Voice over IP
Telefonstörung - Ortsrufnummern kein Verbindungsaufbau
Frage von Windows10GegnerVoice over IP10 Kommentare

Hallo, sowohl bei uns als auch beim Opa ist es über VoIP nicht möglich Ortsrufnummern anzurufen. Es kommt nach ...

Windows Server
Server 2012 über Eingabeaufforderung devmgmt.msc geht nicht
gelöst Frage von achim222Windows Server9 Kommentare

Hallo, ich habe hier einen Server 2012 der im Reparaturmodus startet. Es liegt an einem falschen VirtIO Treiber für ...