Ich habe Textdatei mit einer Zeile wie folgt aus:Wie verwende ich Regex, um Nicht-Wort-Zeichen in einer bestimmten Zeichenfolge zu ersetzen?
SendersTimeSeriesIdentification: COMPANY_A/COMPANY_B/REF_7/20090505
Ich mag würde alle nicht-Wort Zeichen im Wert Teil mit dem Charakter n
, wie diese ersetzen:
SendersTimeSeriesIdentification: COMPANYnAnCOMPANYnBnREFn7n20090505
Aber Überall in der Datei gibt es ähnliche Zeichenfolgen, die intakt bleiben müssen. Ein Beispiel dafür ist:
MessageIdentification: REF_7/VER_1/20090505
Ich glaube, ich muss Lookbehind, und ich kam zu diesem Versuch (VB.NET):
Regex.Replace(fileContentString, "(?<=SendersTimeSeriesIdentification:)(\W)", "0")
Das funktioniert nicht, wie Ich mag würde es. Also meine Fragen sind:
Ist es möglich, alle Nicht-Wort-Zeichen in einer bestimmten Zeichenfolge mit nur einem Regex.Replace-Aufruf zu ersetzen? Wie?
Ich werde diese Lösung verwenden, nur weil es in meiner Situation einfacher ist. Ich denke, das würde nicht funktionieren, wenn die Zeile am Ende einen Kommentar hätte (// ein Kommentar), weil die beiden Schrägstriche ersetzt würden, obwohl sie nicht hätten sein sollen. – SinkovecJ