проблемма с произвольными значениями

Russian main discussion
  • Author
  • Message
Offline
Posts: 12
Joined: Mon Nov 24, 2008 8:47 pm

проблемма с произвольными значениями

Post by hider »

вот такой пример
Type=0x3
EndLevel=1
RoadID=35889
RouteParam=2,0,0,0,0,0,0,0,0,0,0,0
Необходимо сделать замену только Type=0x3
но нужно чтобы игнорировало значение RoadID=35889
так как цифровые значения меняются.
но при этом должно учитыватся значение
RouteParam=2,0,0,0,0,0,0,0,0,0,0,0
можно ли это сделать. И ели возможно то подскажите как?

Offline
Posts: 124
Joined: Tue Jun 03, 2008 10:32 pm

Post by Xephon »

Если я правильно понял задачу, то она легко решается с помощью регулярных выражений. Если конкретизируете, что на что заменять, напишу сам regexp.

Offline
Posts: 12
Joined: Mon Nov 24, 2008 8:47 pm

Post by hider »

Type=0x3 >Type=0xa
вот такая замена все остальное не должно менятся,но обязано учитыватся
RoadID=35889 цифровое значение должно игнорироватся

Offline
Posts: 124
Joined: Tue Jun 03, 2008 10:32 pm

Post by Xephon »

Тогда не совсем понятно, что нужно. Я думал, что заменять надо на одно из значений, стоящих после RouteParam=. А статическую замену Type=0х3 -> Type=0xa можно сделать с помощью обычной замены, при этом другие строки не будут затронуты. Что значит "остальные значения должны учитываться"? Где они должны учитываться? Опишите потановку задачи более конкретно.

Offline
Posts: 12
Joined: Mon Nov 24, 2008 8:47 pm

Post by hider »

нужно что бы выбрало значения
Type=0x3 >переменная
EndLevel=1 >переменная
RoadID=35889 >переменная
RouteParam=2,0,0,0,0,0,0,0,0,0,0,0>переменная

и поменяло его на значение
Type=0xа
EndLevel=1
RoadID=35889
RouteParam=2,0,0,0,0,0,0,0,0,0,0,0
но значение RoadID= *****должно игнорироватся
а значение RouteParam=2,0,0,0,0,0,0,0,0,0,0,0 обязательно должно учитыватся.

Type=0x3 > замена
EndLevel=1 > игнорируется и остается неизменным
RoadID=35889 > игнорируется и остается неизменным
RouteParam=2,0,0,0,0,0,0,0,0,0,0,0 >учитывается но не меняется
по другому уже наверное не смогу объяснить

Offline
Posts: 124
Joined: Tue Jun 03, 2008 10:32 pm

Post by Xephon »

считая, что в конце каждой строки стоит символ новой строки, т.е. нет невидимых символов (пробелов, табов), то выражение выглядит так:
Заменить
Что: Type=0x[0-9a-f]+(\rEndLevel=\d+\rRoadID=\d+\rRouteParam=[0-9,]+)
Чем: Type=0xa$1

Offline
Posts: 12
Joined: Mon Nov 24, 2008 8:47 pm

Post by hider »

Xephon wrote:считая, что в конце каждой строки стоит символ новой строки, т.е. нет невидимых символов (пробелов, табов), то выражение выглядит так:
Заменить
Что: Type=0x[0-9a-f]+(\rEndLevel=\d+\rRoadID=\d+\rRouteParam=[0-9,]+)
Чем: Type=0xa$1
:( не работает ,вообще ничего не находит
нет ни табов ни пробелов именно так как вы и думаете
Type=0x3+(\rEndLevel=\d+\rRoadID=\d+\rRouteParam=[0-9,]+)
попробовал так ,тоже не работает
Last edited by hider on Tue Nov 25, 2008 11:13 am, edited 1 time in total.

Offline
Posts: 124
Joined: Tue Jun 03, 2008 10:32 pm

Post by Xephon »

я надеюсь вы не используете стандартный диалог замены для этого?
SearchReplace.js из scripts plugin-а нужен

Offline
Posts: 12
Joined: Mon Nov 24, 2008 8:47 pm

Post by hider »

:oops: именно стандартный диалог и использовал
где взять этот плагин? Извините но раньше не сталкивался с такими задачами
у меня в плагинах есть только Q search

Offline
Posts: 124
Joined: Tue Jun 03, 2008 10:32 pm

Post by Xephon »


Offline
Posts: 12
Joined: Mon Nov 24, 2008 8:47 pm

Post by hider »

установил запустил но на выходе никаких изменений :cry:
вставлял Ваши строки

Offline
Posts: 124
Joined: Tue Jun 03, 2008 10:32 pm

Post by Xephon »

файл выложите куда-нибудь и дайте ссылку

Offline
Posts: 12
Joined: Mon Nov 24, 2008 8:47 pm

Post by hider »

ссылка в личке

Offline
Posts: 124
Joined: Tue Jun 03, 2008 10:32 pm

Post by Xephon »

У меня все заменилось успешно. Но из-за размера файла вам возможно нужно подождать некоторое время. Что происходит при нажатии на кнопку "Найти далее"?

Offline
Posts: 12
Joined: Mon Nov 24, 2008 8:47 pm

Post by hider »

Xephon wrote:У меня все заменилось успешно. Но из-за размера файла вам возможно нужно подождать некоторое время. Что происходит при нажатии на кнопку "Найти далее"?
ползунок перемещается вниз и все,больше никаких изменений
поиск завершон
Last edited by hider on Tue Nov 25, 2008 12:15 pm, edited 1 time in total.
Post Reply