2017-10-08 9 views
0

C'est ce que j'ai dans le document:ligne Supprimer tout (ne pas le laisser vide)

1;01878916;BC101;FALSE 
16;01978916;BC101;FALSE 
17;0195B4E5;BC101;FALSE 
19;0197D016;BC101;FALSE 

Après avoir couru trouver & remplacerons: ^((1|17);.+?)$ avec: empty laisse

blankrow 
16;01978916;BC101;FALSE 
blankrow 
19;0197D016;BC101;FALSE 

puis Je dois courir trouver et remplacer \s+$ afin d'enlever la ligne vide (s) et enlever manuellement la première ligne vide. Im faible avec regex, essayé de combiner ces 2 commandes en une seule. Comment il devrait être, pour supprimer les lignes entièrement vides, sans laisser la ligne vide?

Pour obtenir

16;01978916;BC101;FALSE 
19;0197D016;BC101;FALSE 

Merci à l'avance. J'ai besoin d'avoir des commandes regex pour exécuter FIND et Replace dans tous les fichiers ouverts, car je le fais dans 10 fichiers à la fois. Opérations de ligne> Supprimer les lignes vides n'est pas une option.

+0

essayer '^ (.? (1 | 17); +) (? \ R \ n | $)' –

+0

'^ (1 | 17) ;. +? \ s + 'devrait fonctionner – Nkoyan

+0

Les deux solutions fonctionnent, merci les gars, ce n'est nulle part près de ce que j'ai essayé :) – Orion310591

Répondre

0

Le regex:

^(1|17);.+?\s+ 

mentionné ci-dessus fonctionne bien ici car il n'y a pas d'espace au début des lignes que vous souhaitez conserver. Si c'est toujours pas le cas, vous pouvez également faire:

\s+^(1|17);.+?$ 
+1

Je pense que vous avez manqué $ à la fin, '\ s +^(1 | 17);. +? $' J'ai besoin de capturer toute la ligne jusqu'à la fin, c'est similaire aux précédentes, merci pour l'astuce – Orion310591

+0

Merci. – Marathon55