Vous pouvez remplacer
\r(?= *\r)
rien.
Il correspond simplement à CR
suivi de CR
(éventuellement précédé d'un espace). Le vrai numéro est seulement le premier CR
et le reste est fait par un look-ahead, ainsi le remplacement remplace seulement le CR
qui manque c'est LF
.
Il est une légère variation de ce que vous demandez, car au lieu d'enlever le CRLF
, il supprime les s CR
de » simples, ce qui rendra un fichier plus uniforme avec tous les CRLF
fins, au lieu d'un mélange de simple CR
et CRLF
fin des lignes.
I.e.
Regex re = new Regex("\r(?= *\r)");
string sResult = re.Replace(sInput, "").ToString());
See it here at ideone.
Modifier
penser, ma solution laissera des espaces dès le début d'une ligne suivant une ligne -seulement CR
, à la fin de celui-ci. La solution que vous décrivez vous quittera au début de la suivante. Je suppose que le préféré serait de les enlever. Pour cela, changer le RE à
\r *(?=\r)
rendant correspondance les espaces ainsi, ce qui rend la remplacer les supprimer.
Voulez-vous dire que vous voulez supprimer l'espace que la ligne qui suit directement la ligne se termine par CR? Essayez '(\ r) \ h * \ r \ n' et remplacez par' $ 1' –
Qu'avez-vous essayé? Aussi, s'il vous plaît modifier votre question pour placer le texte dans la question, pas une image. – NightOwl888
@ NightOwl888 Je crois que c'est le cas où une image est meilleure que du texte. Eh bien, au moins, il est clair quel type d'entrée OP a. –