hand Inicio

SERVICIOS

Salir

nochedía

Cómo funciona substring, substr y slice en JavaScript?

200 palabras
1 minutos
April 23, 2020
blogjavascript

Te explico las diferencias entre substring, substr y slice de JavaScript con strings

  1. Prólogo
  2. Substring
  3. Substr
  4. Slice
  5. Slice para arrays
  6. Resumen

Prólogo

Quitar carácteres de un string es algo que necesitarás casi seguro en cualquier desarrollo, ya sea por simple tratamiento de datos o por modificar palabras como por ejemplo, para quitar la última barra de una dirección como www.kuworking.com/

Aquí te describo tres métodos: substring, substr y slice

Substring

Nos devuelve un nuevo string (por lo tanto respeta la inmutabilidad) que contiene el segmento que le especificamos

js
const str = 'https://www.kuworking.com/'
let new_str
new_str = str.substring(8, 11) // -> www
new_str = str.substring(8) // -> www.kuworking.com/
new_str = str.substring(8, str.length - 1) // -> www.kuworking.com
new_str = str.substring(0, str.length - 1) // -> https://www.kuworking.com
new_str = str.substring(0, -1) // no funciona, no acepta números negativos

Substr

En el caso de substr tienes lo mismo que substring, pero mientras antes especificábamos inicio y fin, aquí especificamos inicio y número de carácteres a incluir

js
const str = 'https://www.kuworking.com/'
let new_str
new_str = str.substr(8, 3) // -> www
new_str = str.substr(8) // -> www.kuworking.com/
new_str = str.substr(8, 17) // -> www.kuworking.com
new_str = str.substr(0, 25) // -> https://www.kuworking.com
new_str = str.substr(0, -1) // no funciona, no acepta números negativos

Depende de qué quieras hacer, una opción nos simplificará la vida bastante más que la otra

En este caso, escoger substr sería complicarse sin motivo

Slice

Slice viene a ser lo mismo que substring con la diferencia de que aquí se aceptan valores negativos

js
const str = 'https://www.kuworking.com/'
let new_str
new_str = str.slice(8, 11) // -> www
new_str = str.slice(8) // -> www.kuworking.com/
new_str = str.slice(8, str.length-1) // -> www.kuworking.com
new_str = str.slice(0, str.length-1) // -> https://www.kuworking.com
new_str = str.slice(0, -1) // -> https://www.kuworking.com
new_str = str.slice(-4) // -> com/

Y lo cierto es que lo más habitual es utilizar slice siempre

Slice para arrays

Y es que slice (a diferencia de los 2 anteriores) también existe para arrays, donde se comporta de modo homólogo, esto es, extrayendo los elementos especificados en la función

Si te interesa, puedes leerlo en la entrada slice vs splice

Resumen

Entre substring, substr y slice la redundancia es alta y aunque hay algunas diferencias sutiles (que no he explicado, y que tampoco son muy relevantes y aquí no aplican) parece que slice reuniría la mayor versatilidad

De cualquier modo los 3 métodos están en nuestro arsenal de funciones, así que libre albedrío

Qué tal la entrada?
👌 Bien 🙌🙌
👍 Bien, pero algunas cosas podrían explicarse mejor 😬
🤷‍♂️ Da por sentadas demasiadas cosas 😒
🤷‍♂️ A ver, hay poca chicha 😬
🤷‍♂️ Los ejemplos no son muy claros 🙇‍♂️
🤷‍♂️ No se entiende, está mal escrito 👎
✍️ Hay errores, revísalo en cuanto puedas 🙏

Quizá te interese

Privacidad
by kuworking.com
[ 2020 >> kuworking ]