2016-12-01 4 views
-1

J'essaie de mettre en majuscules la sortie dans une instruction de recherche/remplacement dans TextMate. Voici ce que je dois isoler le texte:

Find: (uv.+) 
Replace: $1 

Comment puis-je faire: "$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

Pourquoi cette question étiquetée linux et unix? – Evert

+1

Essayez d'utiliser '\ U $ 1' –

+0

@ WiktorStribiżew merci, cela a fonctionné et était la meilleure solution. – David542

Répondre

2

A partir du manuel, section 20.4.2:

Il est possible de convertir le caractère suivant en majuscule ou en minuscule par en ajoutant le préfixe \ u ou \ l. Ceci est surtout utile lorsque le prochain caractère provient d'un registre de capture. Exemple:

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

Il est également possible de convertir une séquence plus à majuscules ou minuscules en utilisant \ U ou \ L et \ E à désactiver le cas de pliage à nouveau. Exemple:

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

Pourquoi '\ U $ 1' fonctionne-t-il dans mon cas, mais pas? \ U $ 1'? – David542

+0

@ David542 Est-ce que le commentaire de Wiktor à votre question répond à votre commentaire ici? – Evert

+0

oui, merci. – David542