Substituir todos os pontos para isolar

votos
1

Como substituir

. . . Hello . . . . . . world . . .

para

. Hello . world .

substituir ponto espaço point, simplesmente ponto

Tentou fazê-lo como este:

/(\.\s\.)+/i
Publicado 20/09/2018 em 04:31
fonte usuário
Em outras línguas...                            


2 respostas

votos
2

Você pode usar

/\.(?: \.)+/

Combinar um período, em seguida, repetir um grupo de um espaço seguido por um período de tantas vezes quanto possível, e substituí-lo com um único período.

const str = '. . . Hello . . . . . . world . . .';
console.log(
  str.replace(/\.(?: \.)+/g, '.')
);

Respondeu 20/09/2018 em 04:35
fonte usuário

votos
1

Podemos frase a substituição como sendo qualquer ponto único, que por sua vez é seguido por um espaço e outro ponto, toda essa quantidade que ocorre uma ou mais vezes. Isto é, podemos encontrar no seguinte padrão e, em seguida, substituir com apenas um único ponto:

\.( \.)+

Exemplo de código:

var input = ". . . Hello . . . . . . world . . .";
console.log(input);
input = input.replace(/\.( \.)+/g, ".");
console.log(input);

Editar:

Nós poderíamos fazer o padrão ligeiramente mais eficiente, desligando a captura usando ?:, ou seja, usar o seguinte padrão:

\.(?: \.)+
Respondeu 20/09/2018 em 04:35
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more