ich habe ein kleines Problem mit einem regulären Ausdruck, ich möchte folgende Strings substituieren:
"FId_*" zu "FId_unused" und
FESTWERT DFES_Cls.*Wert 1.0 zu FESTWERT DFES_Cls.*Wert 2.0
Das heißt ich will alle ändern, beim ersten Ausdruck machen die Anführungszeichen Probleme, ja die sind in der TEXT-Datei drin, und auch ein wichtiges Kriterium, beim zweiten Ausdruck klappt es auch nicht...was mache ich nur falsch?
Code: Alles auswählen
import re
from sys import *
# -------------------------------------------------------------------------------------
# --- Name : readFromTextData
# --- Funktion : Liest eine Datei ein und gibt die Zeilen als Liste zurueck
# --- Parameter: path : Pfad der Datei
# --- Rueckgabe :Zeilen als Liste
# -------------------------------------------------------------------------------------
def readFromTextData( path ):
fid = open(path, 'r')
#lines_ = fid.readlines()
lines_ = fid.read()
fid.close()
return lines_
# Hauptprogramm das den Parameter (den Pfad zur DCM ) entgegennimmt
if __name__ == '__main__':
#print len(argv)
if len(argv) == 1:
print "usage: ersetzung DCM_FIle"
else:
worktxt = re.sub('\"FId_*\"', '\"FId_UNUSED\"', readFromTextData(argv[1]))
#print worktxt
# print (re.search("FId_*",readFromTextData(argv[1]))).group()
worktxt = re.sub("FESTWERT DFES_Cls*WERT 1.0","FESTWERT DFES_Cls*WERT 2.0", worktxt)
outF = open("ersetzt.DCM", "w")
outF.write(worktxt)
outF.close()