2017-08-16 1 views
1

Ich habe eine lange Liste (ca. 100k Zeilen) von Strings in meiner Datei wie folgt:Zeichenfolge außerhalb „“ nur in Sublime mit regulärem Ausdruck

job_title <- map["job_title"] 
.... 

Ich mag einigen Ersatz tun, um es so zu machen :

jobTitle <- map["job_title"] 

so ersetze ich zu T nur _t, aber ich möchte nur die linke Seite.

+3

Was hast du probiert? Bitte zeigen Sie den Code, den Sie versucht haben. –

+0

Ich weiß nicht, was ich versuchen soll =/ – iori24

Antwort

2

Wenn Sie _t mit T ersetzen Sie alle Vorkommen von _t mit T unabhängig vom Kontext ersetzen wird.

Sie können versuchen, alle "..." Teilstrings übereinstimmen und sie überspringen, und dann einen beliebigen Buchstaben nach _ und konvertieren Sie es in Großbuchstaben. Wie Sie die Teilzeichenfolgen "..." abgleichen können, hängt davon ab, ob in Ihrem Text Elemente mit Escapezeichen angezeigt werden oder nicht.

Wenn kann es keine Anführungszeichen entgangen,

Suche: "[^"]*"(*SKIP)(?!)|_([A-Za-z])
ersetzen: \u$1

Wenn Anführungszeichen entgangen werden kann:

Suche: "[^"\\]*(?:\\.[^"\\]*)*"(*SKIP)(?!)|_([A-Za-z])
Ersetzen: \u$1

enter image description here

Einzelheiten:

  • "[^"\\]*(?:\\.[^"\\]*)*"(*SKIP)(?!) - ein "..." substring (es passt ", dann alle 0+ Zeichen andere als " und \ und dann 0+ Sequenzen irgend Escapezeichen() gefolgt von 0+ Zeichen außer " und \ Und dann "), die angepasst ist, und dann aus dem Spiel weggelassen werden, und das nächste Spiel für die Zeit nach dem Ende des aktuellen Spiels gesucht wird (aufgrund (*SKIP)(?!))
  • | - oder
  • _ - ein _ char
  • ([A-Za-z]) - Capturing Gruppe 1: beliebigen ASCII-Buchstaben

der \u Operator im Austausch macht das erste Zeichen, nachdem es in Großbuchstaben. $1 steht für den mit ([a-zA-Z]) erfassten Brief.

+0

OMG. hat perfekt funktioniert! Danke, Wiktor. Ur ein Genie – iori24

0

Es für regex keine Notwendigkeit, in Ihrem Fall ist (drücken Sie Strg + H und ersetzen alle)

ersetzen

job_title < 

mit:

jobTitle < 
+0

ich denke, du bekommst nicht, was ich meine. Wenn Sie es verwenden, ersetzt es beide Zeichenfolgen. – iori24

Verwandte Themen