2012-03-16 2 views
3

Привет, у меня есть большой файл, и мне нужно заменить некоторые значения, поэтому мне нужно использовать регулярное выражение: Может ли кто-нибудь помочь мне и рассказать, как это сделать?Замена замещения замещения Notepad ++

<FieldRef ID="{FE652450-8A96-416E-AAE4-F85BE196A249}" Name="CG" DisplayName="CG"/> 
    <FieldRef ID="{AAA6ABCD-CE07-4D0E-A689-773DD47F4D64}" Name="Statut" DisplayName="Statut"/> 
    <FieldRef ID="{F13A3B87-47DE-4DE2-B480-FE1126B0D5E2}" Name="ElementCMin" DisplayName="Element C Min"/> 

Так что в этих строках мне нужно заменить ID = "{guid}" пустой строкой.

+1

ID = "[^"] + "должен делать это. Непроявленный, но не помню подробностей с ароматом регулярного выражения Notepad ++. – Corbin

+0

Только совет: перед заменой чего-нибудь вы можете использовать Notepad ++" Mar k ", чтобы проверить правильность вашей замены – Gabber

ответ

7

Попробуйте следующее

ID="{[a-zA-Z0-9-]+}" 
+0

спасибо, что это работает – Alnedru

+1

Вы также можете быть более конкретным, заменив «+» на точное количество символов: ID = «{[a-zA-Z0-9 -] {36}}" –

1

Это регулярное выражение должно сделать

ID="\{.*\}" 

сделать замену с пустой следующей строкой, и вы сделали. Однако, если у вас есть более вхождения заканчивающегося в }", блокнот будет делать неправильные вещи, применяя функцию замены на этой линии

text1 ID="{F13A3B87-47DE-4DE2-B480-FE1126B0D5E2}" 
text ID="{F13A3B87-47DE-4DE2-B480-FE1126B0D5E2}" text2 

удалит все, кроме

text1 text2 

однако смотреть на Notepad++ non-greedy regular expressions если вам нужно решить эту проблему.

EDIT: Если у вас есть Notepad ++ версии 5.9 или более в Corret регулярное выражение является

ID="\{.*?\}" 

Он останавливается на первой фигурной скобкой в ​​строке

+0

@Benoit кажется, что вы даже не прочитали мой ответ, проблема уже была указана до моего первого редактирования. Предполагая, что файл похож на пример, мой ответ работает отлично. Предполагая, что файл имеет несколько указателей в одной строке, используя np ++ v 5.9, отредактированный ответ работает отлично. – Gabber

+0

вы правы, извините. – Benoit

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