Comment faire une recherche pour un retour chariot dans eclipse
Si j'ai le texte suivant dans mon Eclipse éditeur:
Text Line 1
Text Line 2
Je voudrais concaténer du texte dans:
Text Line 1Text Line 2
Ma première idée était à la recherche de caractère de retour chariot '\n' et le remplacer par " pour concaténer il.
J'ai essayé d'utiliser la fonction de recherche de l'Éclipse, mais il ne reconnaît pas de caractère de retour chariot.
Il n'existe aucun autre éditeur qui peut faire cela?
- Le caractère de retour chariot n'est pas \n, il est \r.
Vous devez vous connecter pour publier un commentaire.
Eclipse n'cette option si vous:
Suffit d'utiliser
Edit -> Find/Replace
, interrupteur sur leRegular Expressions
case, recherche pour\n
et de le remplacer par un espace.Je l'ai essayé dans Eclipse 3.4 et il a bien fonctionné.
Plus rechercher et remplacer des tâches dans les éditeurs (au moins, TextPad) ont la capacité de le remplacer par une expression régulière. Si vous pouvez trouver cette option dans eclipse, puis il suffit de l'utiliser.
\r est la bonne expression régulière pour un retour chariot. Mais Eclipse standard de l'éditeur de ne pas le trouver.
Donc, utiliser l'éditeur de texte externe, par exemple notepad++
Réponse courte:
J'ai décidé d'utiliser
\s++
comme séparateur en ligne multi expressions de recherche (avec des expressions régulières) est activée et\Qfoo\E
à échapper les caractères spéciaux si nécessaire.Réponse longue:
Comme
soru
déjà répondu, pour tout "Unicode linebreak séquence" une expression régulière avec\R
peut être utilisé.Un pur retour chariot est représenté par
\r
. Les majuscules et les minuscules faire une différence.J'ai trouvé ce DONC, la question parce que je voulais à la recherche d'un multi-ligne expression dans Eclipse, y compris les sauts de ligne et les tabulations:
Afin d'inclure les espaces blancs dans mes habitudes de recherche de l'expression que j'ai utilisé (sur plate-forme Windows)
Expressions suivantes aussi des travaux:
@Override\R\t*@Transient
@Override\s++@Transient
Veuillez noter que la seconde expression correspond également à
@Override @Transient
sans un saut de ligne, ce qui est bien pour moi.
Expressions suivantes n'ont pas! le travail pour moi:
@Override\r\t*@Transient
@Override\n\t*@Transient
Explication de certaines expressions régulières:
\R
représente unicode de la séquence de saut de ligne (par exemple\r\n
)\s
représente tout espace blanc\t
représente un onglet*
correspond à zéro ou plusieurs occurrences++
correspond à une ou plusieurs occurrences\Q
et\E
échapper enveloppé de contenu. Utiliser si votre original en ligne multi expression comprend des regex caractères, par exemple\Q/**\E\s++\Q*\E
correspond
Voir aussi:
Différence entre les \n et \r?
https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html