Выберите разные части линии

0

Я новичок в регулярных выражениях и у меня есть файл, который выглядит следующим образом:

|60|493,93|1,6500|
|60|95,72|1,6500|
|60|43,88|1,6500|
|60|972,46|1,6500|

Я использовал регулярное выражение (\|60|.*)(1,65) и я смог найти все строки, в которых есть информация, которую я хотел изменить.

Как я могу сделать замену, когда Notepad ++ находит (\|60|.*)(1,65), 60 следует заменить на 50:

|50|493,93|1,6500|
|50|95,72|1,6500|
|50|43,88|1,6500|
|50|972,46|1,6500|

PS: вот пример полной строки:

|C170|002|34067||44,14000|KG|493,93|0|0|020|1102||288,11|12,00|34,57|0|0|0|0|||0|0|0|60|493,93|1,6500|||8,15|60|493,93|7,6000|||37,54||

источник

Ответы:

2

Я думаю, что это то, что вы хотите:

Найти то, что: ^(.*)\|60\|(.*1,65.*)

Заменить: \1|50|\2

Sean Bright
источник
Часть, которую я вставляю, является только результатом (\ | 60 |. *) (1,65), полная строка находится в конце поста (я редактировал его)
1
Просто удалите ^ от передней части регулярного выражения, и это должно работать правильно.
Andrew Clark
Обновил мой ответ. Это ужасно.
Sean Bright
Это сработало именно так, как мне нужно ... просто еще один вопрос, если мне нужно изменить | 1,65 | как это будет?