2016-03-22 2 views
0

По ошибке я заменил пару строк во всех java-файлах с помощью функции глобальной замены (CTRL + H). в настоящее время текст, как показано ниже: -Eclipse Чтобы заменить две одинаковые строки

data.creationtime = DateUtils.convertDateTimeFromServer(data.creationtime); 
data.creationtime = DateUtils.convertDateTimeFromServer(data.creationtime); 

и я хочу, чтобы заменить последнюю строку с правильным словом, как показано ниже: -

data.creationtime = DateUtils.convertDateTimeFromServer(data.creationtime); 
data.modificationtime = DateUtils.convertDateTimeFromServer(data.modificationtime); 

Я не уверен, как это сделать, потому что у меня есть два идентичных линии, может кто-нибудь, пожалуйста, наведите меня?

я следовал этой link, но регулярные выражения не работает

РЕШЕНИЕ

Я попытался ниже шаблон, и она работала

Для матча: -
(data.creationtime = DateUtils.convertDateTimeFromServer\(data.creationtime\);\s*?data.)([^ ]+?)(= DateUtils.convertDateTimeFromServer\(*?data.)([^ ]+?)(\);)

Для Заменить: - $1modificationtime$3modificationtime$5

ответ

1

Возможно, это не самый эффективный способ, но он должен работать.

Поиск-шаблон:

(data.creationtime = DateUtils.convertDateTimeFromServer\(data.creationtime\);\s*?data.)([^ ]+?)(= DateUtils.convertDateTimeFromServer\(data.creationtime\);) 

Замена-шаблон:

$1modificationtime$3 

Демо: https://www.myregextester.com/?r=da9d3e48

+0

затмение занимает только одну строку в то время, в поле поиска как указать fy выше рисунка в одной строке. –

+0

Используя * (несколько) \ s (метасимволы whitespace) в? (ленивый) режим, вы можете захватить линию. Я отредактировал свой ответ. – netblognet

+0

его не работает .. eclipse не возвращает результат. –

Смежные вопросы