2015-02-23 19 views
30

Ich versuche, einige Zeichen in einer Zeichenfolge mit ihren Groß-/Kleinbuchstaben Äquivalente in Atom Editor zu ersetzen.Atom Editor: RegEx ersetzen in Großbuchstaben/Kleinbuchstaben

Lassen Sie uns sagen, ich habe die Zeichenfolge:

some:test:sequence 

und wollen das Ergebnis:

Some:Test:Sequence 

Ich bin mir dessen bewusst Dinge wie \u$1 und \l$1, aber sie funktionieren nicht in Atom, wie Atom verwendet JS-style RegEx. Die JS-RegEx-Lösungen, die ich gefunden habe, beinhalten jedoch immer den Aufruf einer Funktion (see example here), was in Atom nicht möglich ist, afaik.

Weiß jemand, ob es einen Weg gibt, dies zu erreichen? Es macht mir auch nichts aus, ein Paket für eine leistungsfähigere Regex-Suche/-Ersetzung zu installieren, aber ich habe keins gefunden, und ich möchte es vermeiden, allein dafür eine eigene zu schreiben.

Bitte beachten Sie: Ich bin nicht auf der Suche nach einer Lösung, um die Zeichen zu finden/auszuwählen. Die Auswahl funktioniert gut und ist etwas komplexer als im Beispiel.

+0

so können Sie Regex nicht verwenden? Und was ist mit einer benutzerdefinierten Funktion mit reinem JavaScript? –

+0

Ich glaube, du hast meine Frage falsch verstanden. Ich benutze Regex bereits, ich kann einfach nicht mit Großbuchstaben ersetzen arbeiten. Wie ich geschrieben habe, ist es auch nicht möglich, JS aufzurufen, ohne ein Paket zu erstellen. – max

+1

Atom * enthält * Oniguruma reguläre Ausdrücke nur für die Grammatiken, an allen anderen Stellen verwendet es reguläre Standard-JavaScript-Ausdrücke. Atom ist "gebaut" Oniguruma ist ein bisschen irreführend. – Lee

Antwort

1

Eine einfache Art der Lösung im Rahmen von Plain Regex wäre, den Ersatz für jedes Zeichen separat zu tun. Dies ist wahrscheinlich nicht praktisch (wenn Sie jeden Ersatz manuell auslösen müssen), aber es funktioniert.

Suchen Sie nach allen Kleinbuchstaben 'a' am Anfang jedes Wortes, ersetzen Sie sie durch das Großbuchstabe 'A'. Dann 'b' für 'B', ... bis Sie alle für Ihre Zielsprache/Ihren Zeichensatz relevanten Zeichen haben.

26

Beachten Sie, dass, während Sie sagten, dass die Frage nicht über die Auswahl ist, verwende ich ein vereinfachtes Beispiel.

Wenn Sie eine Zeichenfolge, die aus haben: This is a Mixed case String! I want every Letter to Start with A Capital.

können Sie die Auswahl mit Regex verwenden \b\w die ersten Buchstaben jedes Wortes in der Zeichenfolge zu finden. (Fertig mit Cmd + F und .* auf der rechten Seite für Regex-Suche)

Jetzt drücken Sie Alt + Enter, um alle gefundenen Ergebnisse auszuwählen, dies sollte alle Ergebnisse der Regex-Abfrage hervorheben. Danach können Sie, um jeden ersten Buchstaben in Großbuchstaben zu schreiben, Cmd + K -> Cmd + U drücken, Sie können sie von hier aus ändern.

Boom! Der String sollte nun wie folgt aussehen: This Is A Mixed Case String! I Want Every Letter To Start With A Capital.

Ich habe eine Antwort auf diese Frage für eine Weile suchen, hier sind meine Quellen für die Antwort ein:

+1

Boom! Sie Sir, hat meinen Tag gemacht. – stib

+0

Sie können dies jedoch nur auf eine Datei gleichzeitig anwenden, während eine Regex-Suchlösung (falls vorhanden) für mehrere Dateien gleichzeitig gilt. – combinatorist

+0

Hinweis: Sie sollten Alt (Option) + Enter ** drücken, während die Suchtexteingabe aktiv ist **. – the4kman