Найти и заменить - Добавить возврат каретки ИЛИ Newline - PullRequest
168 голосов
/ 02 декабря 2010

В случае разбора следующей строки.

ford mustang,10,blue~~?bugatti veyron,13,black

Я хочу заменить ~~? на carriage return

Замена \n просто добавляет строку "\n"

Как это можно сделать?

Ответы [ 5 ]

250 голосов
/ 02 декабря 2010

Убедитесь, что в диалоговом окне «Найти и заменить» выбрано «Использовать: регулярные выражения»:

Find/Replace Dialog Use Regular expressions

Обратите внимание, что для Visual Studio 2010 это не работает в Инструменты повышения производительности Visual Studio 'Расширение "Быстрый поиск" (по состоянию на июльское обновление 2011 года);вместо этого вам нужно будет использовать полный диалог поиска и замены (используйте Ctrl + Shift + H или «Правка» -> «Найти и заменить -> Заменить в файлах») и измените область действия на «Текущий документ».

28 голосов
/ 27 апреля 2011

Вы также можете попробовать \x0d\x0a в поле «Заменить на» с флажком «Использовать регулярное выражение», чтобы получить возврат каретки + перевод строки с помощью Visual Studio Find / Replace.Использование \n (перевод строки) аналогично \x0a

13 голосов
/ 02 декабря 2010

Если вы установите флаг «Использовать регулярные выражения», то \ n будет переведен. Но имейте в виду, что вам нужно изменить поисковый запрос, чтобы быть удобным для регулярных выражений В вашем случае это должно быть экранировано, как это "\ ~ \ ~ \?" (без кавычек).

10 голосов
/ 25 июня 2013

Если вы хотите избежать проблем с экранированием специальных символов в строке поиска и замены при использовании регулярных выражений, выполните следующие действия:

  1. Найдите исходную строку и замените ее на«UniqueString42», с регулярными выражениями off .
  2. Найдите «UniqueString42» и замените его на «UniqueString42 \ nUniqueString1337», с регулярными выражениями в
  3. Найдите «UniqueString42» и замените его первой строкой замены (часто исходной строкой) с регулярными выражениями off .
  4. Найдите «UniqueString42» и замените его навторая строка вашей замены, с регулярными выражениями off .

Обратите внимание, что даже если вы хотите вручную подбирать совпадения для первого поиска и замены, вы можете безопасно использовать "replace"all "для трех последних шагов.

Пример

Например, если вы хотите заменить это:

public IFoo SomeField { get { return this.SomeField; } }

wiй:

public IFoo Foo { get { return this.MyFoo; } }
public IBar Bar { get { return this.MyBar; } }

Вы должны сделать следующие замены:

  1. public IFoo SomeField { get { return this.SomeField; } }XOXOXOXO (регулярное выражение off ).
  2. XOXOXOXOXOXOXOXO\nHUHUHUHU (regex on ).
  3. XOXOXOXOpublic IFoo Foo { get { return this.MyFoo; } } (regex off ).
  4. HUHUHUHUpublic IFoo Bar { get { return this.MyBar; } } (регулярное выражение off ).
5 голосов
/ 02 декабря 2010

Вы можете использовать Многострочный поиск и замена в макросе Visual Studio , который обеспечивает хороший графический интерфейс для этой задачи.

enter image description here

...