Articulo de referencia

Recorte (programación informática)

En programación informática , recortar ( trim ) o eliminar ( strip ) es una manipulación de cadenas en la que se eliminan los espacios en blanco iniciales y finales de una caden...

En programación informática , recortar ( trim ) o eliminar ( strip ) es una manipulación de cadenas en la que se eliminan los espacios en blanco iniciales y finales de una cadena .

Por ejemplo, la cadena (entre comillas simples)

'Esto es una prueba' 

después de recortar cambios en

'Esto es una prueba' 

Variantes

Recorte a la izquierda o a la derecha

Las variantes más populares de la función trim eliminan solo el principio o el final de la cadena. Generalmente se denominan ltrim y rtrim respectivamente, o en el caso de Python: lstrip y rstrip . C# utiliza TrimStart y TrimEnd , y Common Lisp string-left-trim y string-right-trim . Pascal y Java no tienen estas variantes integradas, aunque Object Pascal (Delphi) tiene las funciones TrimLeft y TrimRight . [ 1 ]

Parametrización de la lista de caracteres de espacio en blanco

Muchas funciones de recorte tienen un parámetro opcional para especificar una lista de caracteres a recortar, en lugar de los espacios en blanco predeterminados. Por ejemplo, PHP y Python permiten este parámetro opcional, mientras que Pascal y Java no. Con string-trimla función de Common Lisp, el parámetro (llamado character-bag ) es obligatorio. La biblioteca Boost de C++ define los espacios en blanco según la configuración regional , y también ofrece variantes con un parámetro de predicado (un functor ) para seleccionar qué caracteres se recortan.

Valor de retorno de cadena vacía especial

Una variante poco común de trim devuelve un resultado especial si no quedan caracteres después de la operación de recorte. Por ejemplo, StringUtils de Apache Jakarta tiene una función llamada que devuelve en lugar de una cadena vacía.stripToNullnull

Normalización espacial

La normalización de espacios es una manipulación de cadenas relacionada donde, además de eliminar los espacios en blanco circundantes, cualquier secuencia de caracteres de espacio en blanco dentro de la cadena se reemplaza con un solo espacio. La normalización de espacios se realiza mediante la función denominada Trim()en aplicaciones de hojas de cálculo (incluidas Excel , Calc , Gnumeric y Google Docs ), y mediante la normalize-space()función en XSLT y XPath ,

Recorte in situ

Si bien la mayoría de los algoritmos devuelven una cadena nueva (recortada), algunos modifican la cadena original directamente . En particular, la biblioteca Boost permite recortar la cadena original directamente o devolver una copia recortada.

Definición de espacio en blanco

Los caracteres que se consideran espacios en blanco varían según el lenguaje de programación y su implementación. Por ejemplo, C tradicionalmente solo cuenta los espacios, las tabulaciones, los saltos de línea y los retornos de carro, mientras que los lenguajes que admiten Unicode suelen incluir todos los espacios Unicode. Algunas implementaciones también incluyen códigos de control ASCII (caracteres no imprimibles) junto con los espacios en blanco.

El método trim de Java considera los espacios ASCII y los códigos de control como espacios en blanco, a diferencia del isWhitespace()método de Java, [ 2 ] que reconoce todos los caracteres de espacio Unicode.

La función Trim de Delphi considera que los caracteres U+0000 (NULO) a U+0020 (ESPACIO) son espacios en blanco.

Espacios sin espacio

El bloque Unicode de patrones Braille contiene U+2800 BRAILLE PATTERN BLANK , un patrón Braille sin puntos en relieve. El estándar Unicode establece explícitamente que no actúa como un espacio.

El espacio sin ruptura U+00A0 NO-BREAK SPACE ( & nbsp;, & NonBreakingSpace; ) también puede tratarse como no espacio para fines de recorte. 

Uso

Referencias

  1. "Recortar" . Freepascal.org. 2013-02-02 . Consultado el 2013-08-24 .
  2. "Character (Java 2 Platform SE 5.0)" . Java.sun.com . Consultado el 24 de agosto de 2013 .
  • Tcl: recorte de cuerda
  • Recorte JavaScript más rápido : compara varias implementaciones de recorte JavaScript.
  • Recorte y recorte de cadenas en PHP - Recorte y recorte de cadenas en PHP