Регулярное выражение для замены "{" на "(новая строка) {" в xcode
Мне нужно изменить стиль кодирования, чтобы положить открывающиеся фигурные скобки в одной строке на новую строку. Мне нужно найти и заменить (пробел) {с помощью (новой строки) {. Я слышал, как использовать регулярное выражение find и replace, его довольно просто.
Может ли кто-нибудь помочь мне в этом?
Ответы
Ответ 1
Вы можете попробовать следующее:
- В поле "Найти" введите space \ { $
- В поле "Заменить" введите control+q return {
control+q необходим для цитирования возвращаемого ключа. Нет визуальной обратной связи для ввода control+q return, поэтому единственным видимым символом в поле замены является открывающая фигурная скобка:
![Screenshot Find & Replace]()
Несмотря на то, что это отвечает на ваш вопрос, theres (по крайней мере!) одна проблема: она не будет отступать от фигурной скобки, поэтому что-то вроде
- (void)method {
for (obj in collection) {
NSLog(@"%@", obj);
}
}
преобразуется в
- (void)method
{
for (obj in collection)
{
NSLog(@"%@", obj);
}
}
Пункт меню "Редактирование" > "Формат" > "Отступ" поместит открытые фигурные скобки на правильную вкладку отступа, но в вашем стиле кода могут быть нежелательные побочные эффекты.
Изменить:, как прокомментировано в другом ответе, вам может понадобиться регулярное выражение, которое соответствует произвольному количеству пробелов, окружающих фигурные скобки, например. \S * {\ с * $
Ответ 2
найдите \s\{
и замените на \n\{
Ваш редактор должен поддерживать регулярные выражения в обоих полях поиска и замены. Если вы не можете использовать \n в диалоговом окне замены, потому что он принимает строку буквально, попробуйте ввести параметр, а затем {
, который работает в большинстве редакторов, которые я пробовал.
-
\s
- это пробельный символ (если
может быть больше пробелов, которые вы можете использовать \s+
)
обратите внимание, что он должен быть \s+
вместо \s*
, поскольку кто-то исправлен, потому что действительно \s*
также совпадает, если нет места.
-
\{
нужна обратная косая черта, потому что {
необходимо избегать, поскольку у него есть другой
значение в регулярном выражении
-
\n
для новой строки
Лучше всего было бы переформатировать ваш код, где вы решите иметь свой {
в новой строке. Большинство редакторов позволяют вам устанавливать эти параметры.
Другой способ - использовать декодер кода, вы можете использовать это в Интернете, а некоторые позволяют изменять такие настройки.
Ответ 3
Вы можете использовать [\n\r]
для описания newline
Это позор, я столкнулся с этим, когда я нажимаю значок лупы рядом с панелью поиска, находя что-то в одном файле.
Чтобы увидеть несколько других выражений:
- перейти в файл
- do
cmd
+ f
и открыть поиск
- нажмите на значок лупы в левой части поля поиска вверху
- вы можете увидеть другие выражения в выпадающем меню
Ответ 4
Я искал какое-то время, чтобы узнать, что вам нужно включить параметры поиска для регулярных выражений сначала на маленьком стекле лупы в левой части поля ввода-поиска;)
Ответ 5
Просто скопируйте пример нужной строки замены (новая строка или еще) из кода в поле замены.