Recorte (programación informática)
En programación informática, el recorte (trim) o eliminación (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 (encerrada entre apóstrofos)
Esto es una prueba
se cambiaría, después del recorte, a
'esto es una prueba '
Variantes
Trituración izquierda o derecha
Las variantes más populares de la función trim eliminan únicamente el principio o el final de la cadena. Normalmente 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.
Parametrización de la lista de caracteres del espacio blanco
Muchas funciones de recorte tienen un parámetro opcional para especificar una lista de caracteres a recortar, en lugar de los caracteres de espacio en blanco predeterminados. Por ejemplo, PHP y Python permiten este parámetro opcional, mientras que Pascal y Java no. Con la función string-trim
de Common Lisp, el parámetro (llamado character-bag) es obligatorio. La biblioteca Boost de C++ define caracteres de espacio según la configuración regional, además de ofrecer 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 stripToNull
que devuelve null
en lugar de una cadena vacía.
Normalización del espacio
La normalización de espacios es una manipulación de cadenas relacionada en la que, además de eliminar los espacios en blanco circundantes, cualquier secuencia de caracteres de espacio en blanco dentro de la cadena se reemplaza por 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 función normalize-space()
en XSLT y XPath.
Trituración en el lugar
Si bien la mayoría de los algoritmos devuelven una cadena nueva (recortada), algunos modifican la cadena original en el lugar. Cabe destacar que la biblioteca Boost permite que se devuelva tanto el recorte en el lugar como una copia recortada.
Definición del espacio blanco
Los caracteres que se consideran espacios en blanco varían entre los lenguajes de programación y las implementaciones. Por ejemplo, C tradicionalmente solo cuenta los caracteres de espacio, tabulación, salto de línea y retorno de carro, mientras que los lenguajes que admiten Unicode suelen incluir todos los caracteres de espacio Unicode. Algunas implementaciones también incluyen códigos de control ASCII (caracteres no imprimibles) junto con caracteres de espacio 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 método isWhitespace()
de Java, que reconoce todos los caracteres de espacio Unicode.
La función Trim de Delphi considera que los caracteres U+0000 (NULL) a U+0020 (SPACE) son espacios en blanco.
En blancos no espaciales
El bloque Unicode de patrones Braille contiene U+2800⠀ PATRÓN BRAILLE EN BLANCO, un patrón Braille sin puntos en relieve. El estándar Unicode establece explícitamente que no actúa como un espacio.
El espacio indivisible U+00A0 ESPACIO INDIVIDUAL ( ,  ) también se puede considerar como un espacio indivisible a efectos de recorte.
Usage
Referencias
- ^ "Trim". Freepascal.org. 2013-02. Retrieved 2013-08-24.
- ^ "Caracter (Java 2 Platform SE 5.0)". Java.sun.com. Retrieved 2013-08-24.
Enlaces externos
- Tcl: corte de cuerda
- Más rápido JavaScript Trim - compara varios Implementaciones de trim de JavaScript
- corte de la cadena de php y corte de la cadena de php