Я хочу использовать Notepad++, чтобы найти / заменить большие куски кода:

У меня много:

Углы [] = {6.2744589,5.4066987,1.4066987};

с 3 значениями. Мне нужно поместить все первое и второе значения в 0 и сохранить значение в третьей позиции:S

Углы [] = {6.2744589,5.4066987,1.4066987};

в

Углы [] = {0,0,1.4066987};

Спасибо!

2 ответа2

2
  • Ctrl+H
  • Найти что: \bangles\[\]=\{\K[^,]+,[^,]+
  • Заменить на: 0,0
  • Заменить все

Объяснение:

\b          : word boundary, to be sure to match angles but not somethingangles
angles      : literally angles
\[\]=\{     : literally []=, brackets have to be escaped as they have special meaning in regex
\K          : Forget all we have seen until this point
[^,]+       : 1 or more any character that is not a comma, that matches also negative values
,           : a comma
[^,]+       : 1 or more any character that is not a comma
  • Проверьте регулярное выражение
  • НЕ ПРОВЕРИТЬ . matches newline

Результат для данного примера:

angles[]={0,0,1.4066987};
1

Это может быть выполнено с помощью поиска и замены регулярных выражений в Notepad++.

Найти: angles\[\]={\d+\.\d+,\d+\.\d+,(\d+\.\d+)};

Заменить на: angles[]={0,0,\1}

Обратите внимание, что в приведенном выше выражении мы избегаем скобок, поэтому наличие обратной косой черты () означает, что третья группа - это группа захвата (в скобках). В конце мы выполняем замену для первой и второй групп, а третья группа - это исходное значение (обозначаемое как \1: захваченное значение).

Я прилагаю образец скриншота.

Блокнот ++ регулярное выражение заменить

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .