2016-12-01 3 views
-1

Я пытаюсь загладить вывод в операторе find/replace в TextMate. Вот то, что я должен изолировать текст:

Find: (uv.+) 
Replace: $1 

Как бы сделать: "$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

Почему этот вопрос помечен Linux и Unix? – Evert

+1

Попробуйте использовать '\ U $ 1' –

+0

@ WiktorStribiżew спасибо, что сработало и было лучшим решением. – David542

ответ

2

В руководстве, раздел 20.4.2:

можно преобразовать следующий символ в верхнем или нижнем регистре - , добавив его с \ u или \ l. Это в основном полезно, когда следующий символ проистекает из регистра захвата. Пример:

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

Вы можете также преобразовать длинную последовательность в верхний или нижний регистр с помощью U \ или \ L, а затем \ Е, чтобы отключить случай складной снова. Пример:

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

Почему '\ U $ 1' работает в моем случае, но' \ u $ 1' не работает? – David542

+0

@ David542 Прокомментировал ли Ваш комментарий комментарий на ваш вопрос? – Evert

+0

да, спасибо. – David542

Смежные вопросы