4 votes

Les expressions régulières pour deux points ou plus doivent être séparées par des espaces.

J'ai des entrées comme ça.

And I walked 0.69 miles. I had a burger..I took tea...I had a coffee

Mon objectif est de convertir deux points ou plus en un seul point puis en un espace afin que l'entrée devienne correcte selon la terminaison grammaticale appropriée. La sortie visée est :

And I walked 0.68 miles. I had a burger. I took tea. I had a coffee

J'ai fait une expression régulière pour ceci est comme :

[\\.\\.]+

Je l'ai vérifié sur Testeur de Regex il ne fonctionnera pas comme je le souhaitais. Comme il comprendra également 0.69 et la fin de cette ligne . aussi, ce que je ne veux pas. Si quelqu'un peut m'aider dans ce domaine, je vous en serai reconnaissant.

4voto

anubhava Points 172509

Vous pouvez utiliser :

str = str.replaceAll("\\.{2,}", ". ");

Démonstration de RegEx

\\.{2,} correspond à 2 points consécutifs ou plus et ". " les a remplacés par un point et un espace.

1voto

gaganshera Points 1646

Ce code devrait fonctionner

[\.]+[\.]+

Cela correspondra à 2 périodes continues ou plus. Vous pouvez ensuite remplacer chaque correspondance par un point et un espace.

1voto

YCF_L Points 31822

Vous pouvez utiliser ce :

String str = "And I walked 0.69 miles. I had a burger..I took tea...I had a coffee";
String result = str.replaceAll("\\.{2,}", ". ");

Sortie

And I walked 0.68 miles. I had a burger. I took tea. I had a coffee

1voto

Tezra Points 4908

Vous devez tirer le premier \. pour correspondre à cela, alors 1+ \. donc comme

\.\.+ or Java string escaped \\.\\.+

[ \.\. ] Correspond à \ ou . ou \ ou . qui est une vérification redondante sur un seul caractère.

0voto

brso05 Points 11543

Vous pouvez utiliser String.replaceAll() pour y parvenir :

myString.replaceAll("\\.[\\.]+", ". ");

Votre regex est légèrement erronée, elle devrait être \.[\.]+ . Sur Java vous devrez échapper à la \ donc ce sera \\.[\\.]+ ...

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X