finden und ersetzen von Sonderzeichen powershell
Habe ich eine Methode, die eine if-Anweisung, dass der Fang, wenn er findet einen ganz besonderen Charakter. Was soll ich jetzt tun, wenn Sie die position von Sonderzeichen und ersetzen Sie es mit _A
Einige Beispiele
- test# wird test_A
- Ich#hoffe#jemand#kennt#die#Antwort# wird I_Ahope_Asomeone_Aknows_Athe_Aanswer_a
oder, wenn es mehr als ein Sonderzeichen
- Sie?nicht#verstehen{meine?Frage# wird You_Adidnt_Aunderstand_Amy_AQuestion_a
Würde ich eine Schleife über den gesamten string und wenn ich erreichen, dass der Charakter ändern, um _A oder gibt es einen schnelleren Weg, dies zu tun?
InformationsquelleAutor davetherave | 2015-06-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
#
ist nur ein Charakter wie jeder andere, können Sie die-replace
Betreiber:Regex-Magie ist, definieren Sie alle speziellen Fällen wie in (Klammern müssen escaped werden):
Damit Ihre Funktion könnte in etwa so Aussehen:
Wenn Sie sich nicht sicher sind, welche Zeichen zu entkommen, haben die
regex
Klasse es für Sie tun!Alternativ können Sie die .NETZ-string-Methode
Replace()
:Aber ich fühle, dass die regex-Weg ist kürzer
warum sind Sie daran interessiert, in der Lage, schlägt die Ersatzlieferung erfolgt wie erwartet? Ich habe aktualisiert die Antwort zu zeigen, wie Sie es erweitern können, die nicht nur die
#
Diese Antwort befasst sich mit der Frage, die Sie gefragt. Wenn Sie wirklich wollen, die Antwort auf eine andere Frage stellen, dann müssen Sie gehen zurück und Bearbeiten Sie Ihre OP.
Danke, sorry ich bin neu in der powershell also nur nötig, es zu erklären
InformationsquelleAutor Mathias R. Jessen