мой текст из IEEE выглядит следующим образом:

Spinellis, Diomidis, "The Strategic Importance of Release Engineering," Software, IEEE , vol.32, no.2, pp.3,5, Mar.-Apr. 2015
URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=7057563&isnumber=7057030

Pautasso, Cesare; Zimmermann, Olaf, "Seeking Your Insights," Software, IEEE , vol.32, no.2, pp.7,9, Mar.-Apr. 2015
URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=7057623&isnumber=7057030

Holzmann, G.J., "Code Inflation," Software, IEEE , vol.32, no.2, pp.10,13, Mar.-Apr. 2015
URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=7057573&isnumber=7057030

Cleland-Huang, J., "Injecting Value-Thinking into Prioritization Decisions," Software, IEEE , vol.32, no.2, pp.14,18, Mar.-Apr. 2015
URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=7057568&isnumber=7057030

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

Spinellis, Diomidis - The Strategic Importance of Release Engineering
URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=7057563&isnumber=7057030

Pautasso, Cesare; Zimmermann, Olaf - Seeking Your Insights
URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=7057623&isnumber=7057030

Holzmann, G.J. - Code Inflation
URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=7057573&isnumber=7057030

Cleland-Huang, J. - Injecting Value-Thinking into Prioritization Decisions
URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=7057568&isnumber=7057030

Есть ли возможность добиться этого?

Благодарю.

2 ответа2

0

Ручной обходной путь будет:

Найти {, "}; shift+end ; del для каждой строки
затем Найти {, "}; Заменить все как {-}

Или наоборот, какой порядок вы предпочитаете ..

0

Обратите внимание, что каждая строка, если в ней есть кавычки, имеет кавычки в одной строке, поэтому вы не можете сильно ошибиться в сопоставлении относительно того, должно ли оно соответствовать новым строкам или нет.

Это делает это

Каждая строка соответствует "....." включительно. Захват (...)

Чтобы соответствовать между кавычками, включая кавычки,

Найти "([^"]*)"

Заменить на -\1"

Обратите внимание, что "Регулярное выражение" отмечено в диалоговом окне.

Часть находки, круглые скобки захвата. (можно сказать, круглые скобки - http://en.wikipedia.org/wiki/Bracket, хотя в США их так не называют, понятно, что имеется в виду)

"[^"]*" <- это будет соответствовать всему "..." включая кавычки. Но вы хотите сохранить / захватить только часть этого, потому что вы не хотите сохранять цитату в начале. Таким образом, часть поиска может иметь "([^"]*") или только часть внутри кавычек, поэтому "([^"]*)" Тогда в части замены часть в круглых скобках может называться \1 а хочешь -\1"

Вот скриншот после (после нажатия "Заменить все"). Сначала введите часть поиска, вы также можете ввести часть замены, если хотите. Продолжайте нажимать "Найти далее", чтобы увидеть их циклы. Затем вы узнаете, что с частью поиска все в порядке, убедитесь, что раздел замены заполнен, как вы хотите, и нажмите "Заменить все".

РЕДАКТИРОВАТЬ

Я только заметил, что вы хотите удалить все после окончания.

Вы можете сделать это в двух регулярных выражениях. Но чтобы сделать это в одном, вы можете сопоставить партию (включая то, что вы хотите удалить), и просто захватить то, что вы хотите

И если вы видите, что [^"] соответствует новым строкам, вы можете адаптировать его к [^"\r\n]

Так что этот пример, возможно, не лучшим образом, но он работает

Найти: ([^"\r\n]*)"([^"\r\n]*),".*\r\n
Заменить: \1-\2\r\n

Таким образом, вы видите на рисунке, что он применяется к первому, и вы можете вместо этого нажать «Заменить все» и применить его ко всем.

Вы всегда можете отменить и поэкспериментировать, например применить к одной строке, отменить, посмотреть, что вы хотите, а затем "заменить все"

И вы можете легко добавить любые пробелы в разделе замены вокруг дефиса / тире

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .