33 Votos

Expresión Regular: Eliminar los Espacios Duplicados

Pregunta de SimplyMe | Última actualización el 09/12/2022 | Creado el 30/10/2022

Estoy buscando una expresión regular para eliminar todos los espacios dobles de una cadena/string. Sé que puedo usar la función trim() para eliminar los espacios en blanco innecesarios desde el principio y el final de una cadena. Pero, ¿cómo puedo hacer esto también para la mitad de una cadena?

ResponderPositivoNegativo
3Mejor Respuesta3 Votos

La expresión regular para coincidir con espacios dobles es " +" - un espacio seguido de un signo más que representa una repetición arbitraria.

Si buscamos eso y reemplazamos todas las ocurrencias con un solo espacio, podemos eliminar todos los espacios dobles de un texto respectivamente string. Aquí hay un ejemplo para PHP:

$s = 'Una   frase.';
$s = preg_replace('# +#', ' ', $s);
echo $s; // 'Una frase.'

Eliminar Whitespace doble

Dado que también habló sobre la función trim que elimina todo tipo de whitespace, aquí hay otro ejemplo de cómo no solo puede eliminar los espacios dobles sino también cualquier otro doble espacio en blanco, como espacios, pestañas, saltos de línea y así sucesivamente.

$s = 'Una   frase.';
$s = preg_replace('#\s+#', ' ', $s);
echo $s; // 'Una frase.'

El \s significa cualquier caracteres whitespace como espacios, pestañas, saltos de línea y así sucesivamente. Con el signo más, buscamos todos los eventos en nuestra cadena $s, donde se producen al menos dos caracteres whitespace. Luego reemplazamos cada golpe con un solo espacio.
Última actualización el 09/12/2022 | Creado el 30/10/2022

ResponderPositivo Negativo
Responder

Temas Relacionados

Aviso Importante

Por favor tenga en cuenta: Las contribuciones publicadas en askingbox.com son contribuciones de los usuarios y no deben reemplazar el asesoramiento profesional. No son verificados por independientes y no reflejan necesariamente la opinión de askingbox.com. Aprende más.

Participar

Haga su propia pregunta o escriba su propio artículo en askingbox.com. He aquí cómo.