Comment rechercher un retour chariot en éclipse

Si j’ai le texte suivant dans mon éditeur d’éclipse:

Text Line 1 Text Line 2 

Je voudrais concaténer le texte en:

 Text Line 1Text Line 2 

Ma première idée était de rechercher le caractère de retour chariot “\ n” et de le remplacer par “” pour le concaténer.

J’ai essayé d’utiliser la fonction de recherche d’eclipse, mais il ne reconnaît pas le caractère de retour chariot.

Y a-t-il un autre éditeur qui peut le faire?

Merci =)

Eclipse le fait si vous:

  • activer le mode d’expression régulière dans search / replace
  • entrez \ R pour la nouvelle ligne

Utilisez simplement Edit -> Find/Replace , cochez la case Regular Expressions , recherchez \n et remplacez-le par des espaces.

Je l’ai essayé dans Eclipse 3.4 et cela a bien fonctionné.

La plupart des tâches de recherche et de remplacement dans les éditeurs (au moins TextPad) peuvent être remplacées par une expression régulière. Si vous pouvez trouver cette option dans eclipse, utilisez-la simplement.

\ r est l’expression régulière correcte pour le retour chariot. Mais l’éditeur standard Eclipse ne le trouve pas. Donc, utilisez l’éditeur externe, par exemple notepad ++

Réponse courte :

J’ai décidé d’utiliser \s++ comme séparateur dans les expressions de recherche multi-lignes (avec les expressions régulières activées) et \Qfoo\E pour échapper aux caractères spéciaux si nécessaire.

Réponse longue :

Comme déjà répondu, pour toute “séquence de saut de ligne Unicode”, une recherche par expression régulière avec \R peut être utilisée.

Un retour de chariot pur est représenté par \r . Les majuscules et les minuscules font la différence.

J’ai trouvé cette question SO car je voulais rechercher une expression multi-ligne dans Eclipse, y compris les sauts de ligne et les tabulations:

  @Override @Transient 

Pour inclure les espaces blancs dans mon expression de recherche habituelle, j’ai utilisé (sur la plate-forme Windows)

 @Override\r\n\t*@Transient 

Les expressions suivantes fonctionnent également:

  • @Override\R\t*@Transient
  • @Override\s++@Transient

Veuillez noter que la deuxième expression correspond également à @Override @Transient sans un saut de ligne , ce qui me convient parfaitement.

Les expressions suivantes ne l’ont pas fait! travaille pour moi:

  • @Override\r\t*@Transient
  • @Override\n\t*@Transient

Explication de certaines expressions régulières:

  • \R représente n’importe quelle séquence de saut de ligne unicode (par exemple \r\n )
  • \s représente n’importe quel espace blanc
  • \t représente un onglet
  • * correspond à zéro ou plusieurs occurrences
  • ++ correspond à une ou plusieurs occurrences
  • \Q et \E échappent au contenu enveloppé. Utilisez-les si votre expression multi-lignes d’origine inclut des caractères regex spéciaux, par exemple

\Q/**\E\s++\Q*\E

allumettes

  /** * 

Regarde aussi:

Différence entre \ n et \ r?

https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html