Eliminar caracteres duplicados en cadenas con Laravel

  • Publicado el 19 agosto, 2024
  • Palabras: 185

El equipo de Laravel lanzó la versión 11.20 la primera semana de agosto de 2024, que incluye un nuevo método de "collection", un método de deduplicación de cadenas, la capacidad de usar Enums con "AssertableJson" y más.

Eliminar caracteres duplicados en cadenas con Laravel

Si necesita eliminar la duplicación de cadenas en aplicaciones Laravel y PHP, Laravel v11.20 agrega un nuevo método llamado deduplicate al helper de String, que le permite eliminar rápida y fácilmente caracteres duplicados.

 

use Illuminate\Support\{Str,Stringable};
 
$string = '/usr/local////path/to///desktop';
 
Str::deduplicate($string, '/');
// "/usr/local/path/to/desktop"
 
(new Stringable($string))->deduplicate('/')->toString();
// "/usr/local/path/to/desktop"

 

El carácter de reemplazo predeterminado en el método deduplicate() es un carácter de espacio, que también podría ser útil para el helper squish() introducido en Laravel v9.7.0. Déjema mostrar cuándo squish() podría ser una mejor opción para eliminar espacios adicionales:

 

Str::deduplicate(' John     Smith Jr.  '); // " John Smith Jr. "
Str::squish(' John     Smith Jr.  '); // "John Smith Jr."

 

Ten en cuenta los caracteres de espacio adicionales “ “ al principio y al final al usar deduplicate(),  lo cual es  ”por diseño”. Deduplicate se utiliza para reemplazar instancias consecutivas de un carácter determinado con un solo carácter en la cadena dada. Squish también elimina otros caracteres de espacio, como nuevas líneas y tabulaciones:

 

// Each example returns 'laravel php framework':
Str::squish(' laravel php framework '));
Str::squish("laravel\t\tphp\n\nframework");
Str::squish('
    laravel
    php
    framework
');

 

Antonio Jenaro

Antonio Jenaro

Web Developer

Fuente: Laravel news

Inicia la conversación

Hazte miembro de Antonio Jenaro para comenzar a comentar.

Regístrate ahora

¿Ya estás registrado? Inicia sesión