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


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


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

1
Просто удалите ^ от передней части регулярного выражения, и это должно работать правильно.
Andrew Clark

Обновил мой ответ. Это ужасно.
Sean Bright

Это сработало именно так, как мне нужно ... просто еще один вопрос, если мне нужно изменить | 1,65 | как это будет?
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.