2016-12-01 2 views
-1

Ich versuche, die Ausgabe in einer Find/Replace-Anweisung in TextMate in Großbuchstaben zu schreiben. Hier ist, was muss ich den Text isolieren:

Find: (uv.+) 
Replace: $1 

Wie würde ich tun: "$1".upper()

Input: 
https://store.playstation.com/#!/en-us/movies/cid=uv0012-npvb22701_cn-0000000000307457 

Desired Output: 
https://store.playstation.com/#!/en-us/movies/cid=UV0012-NPVB22701_CN-0000000000307457 
+0

Warum diese Frage Linux und Unix markiert wurde? – Evert

+1

Versuchen Sie mit '\ U $ 1' –

+0

@ WiktorStribiżew danke, das hat funktioniert und war die beste Lösung. – David542

Antwort

2

Aus dem Handbuch, Abschnitt 20.4.2:

Es ist möglich, konvertieren das nächste Zeichen in Groß- oder Kleinbuchstaben von vor es mit \ u oder \ l. Dies ist hauptsächlich nützlich, wenn das nächste Zeichen aus einem Erfassungsregister stammt. Beispiel:

Find: (<a.*?>)(.*?)(</a>) 
Replace: $1\u$2$3 

Sie können auch eine längere Sequenz Groß- oder Kleinschreibung unter Verwendung \ U oder \ L konvertieren und dann \ E zu deaktivieren den Fall Falten wieder. Beispiel:

Find: (<a.*?>)(.*?)(</a>) 
Replace: $1\U$2\E$3 
+0

Warum funktioniert '\ U $ 1' in meinem Fall, aber' \ u $ 1' nicht? – David542

+0

@ David542 Hat Wiktors Kommentar zu Ihrer Frage Ihren Kommentar hier beantwortet? – Evert

+0

ja, danke. – David542