Wie ersetze * das Zeichen mit dem, was es gefunden hat

431
Francesca Elena Pieri

Ich kann nicht genau finden, wonach ich suche, möglicherweise weil es nicht möglich ist. Im Wesentlichen möchte ich großgeschriebene Wörter finden und sie durch das groß geschriebene Wort gefolgt von einer Wagenpause ersetzen.

Ich dachte an etwas in der Richtung ([A-Z])*([A-Z]) = /1/2/3^p, aber ich bekomme eine Fehlermeldung, die besagt, dass es eine Zahl außerhalb des Bereichs gibt, und jede andere Art, wie ich es versucht habe, wird im Wesentlichen nur durch den ersten und den letzten Buchstaben ersetzt.

Gibt es Hoffnung?

0
Sie haben nur zwei Felder mit "(...)" markiert, sodass "\ 3" außerhalb des gültigen Bereichs liegt. Ich habe keine Zeit zu prüfen, aber vorausgesetzt, dass Word alle regulären Ausdrücke beherrscht, brauchen Sie nur `([AZ] * [AZ])` -> `\ 1 ^ p`, wobei` \ 1 `bezieht sich auf die gesamte übereinstimmende Zeichenfolge. Gierige Übereinstimmungen stellen sicher, dass das gesamte Wort übereinstimmt, obwohl eine Zeichenfolge wie `ABC123DEF` nach Ihren Wünschen ersetzt wird. AFH vor 5 Jahren 0

1 Antwort auf die Frage

0
Rich Michaels

Sie erhalten den Fehler, weil es in Ihrer Anweisung Find nur 2 Sätze von Klammern gibt, die logische Zeichenfolgen markieren. In Ihrer Anweisung ([A-Z])*([A-Z])Replace /1/2/3^psagen Sie, es gibt drei Sätze.

Wenn Sie Ihre Replace-Anweisung unverändert lassen möchten, ändern Sie die Find-Anweisung in ([A-Z])(*)([A-Z]). Sie sind zwar nicht wirklich zufrieden mit den Ergebnissen, die Sie zurückgeben, aber versuchen Sie es und sehen Sie, ob Sie das wollen. Es wird mehrere Wörter zurückgeben, da der *Platzhalter eingefügt wird.

Eine bessere Such-Anweisung zum Suchen aller großgeschriebenen Wörter lautet: <([A-Z])> Mit den Platzhalterzeichen für den linken und rechten Pfeil wird der Suchvorgang so gesteuert, dass nur Wörter gesucht werden, die mit den eingeschlossenen Kriterien beginnen. Das Kontrollfeld mit geschweiften Klammern sagt dem Find, dass es mindestens 2 Zeichen und maximal 10 (ich habe nur zufällig 10 als Maximum gewählt habe, Sie können alles festlegen) der vorhergehenden Kriterien verwenden. Bei Verwendung dieser Platzhalter-Find-Anweisung sollte die Replace-Anweisung sein /1^p.