как заменить обратную косую черту в некоторых строках текста в Ant - PullRequest
1 голос
/ 07 октября 2011

Используя

<replaceregexp byline="true" flags="g" file="${someFIle}"
              match = "[\\]"
              replace = "/"/>

Я могу легко заменить все \ на /.

Но

Предположим, текст:

Other A\B\C
Some C\D\E
Other ...
Other ...
...

Как заменить "\" на "/" во второй строке с префиксом "Some", но не для других строк:

Other A\B\C
Some C/D/E
...

Ответы [ 2 ]

0 голосов
/ 07 октября 2011

Ваша проблема не может быть просто решена одним регулярным выражением.Вам нужно сделать что-то более сложное.

1) Считывать свойства только с указанным префиксом и сохранять их в переменную.Это можно сделать с помощью propertyregex.

2) Прочитайте все остальные свойства и сохраните их где-нибудь.

3) Замените \ на то, что вы хотите в свойствах, которые содержат префикс.

4) Запишите измененные свойства со свойствами без префикса в файл, заменяющий исходный файл.

5) Наслаждайтесь: -)

Попробуйте выполнить эти шаги один за другим.Если у вас остались вопросы, дайте мне знать.

0 голосов
/ 07 октября 2011

replaceregexp не имеет возможности пропускать строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...