Métodos de cadena le ayudan a trabajar con cadenas.
Métodos de cuerda y Propiedades
Los valores primitivos, como "John Doe" , no pueden tener propiedades o métodos (porque no son objetos).
Pero con el lenguaje Java, métodos y propiedades también están disponibles para valores primitivos, porque JavaScript trata a los valores simples como objetos al ejecutar los métodos y propiedades.
Longitud de la cuerda
La length la propiedad devuelve la longitud de una cadena:
Cómo buscar una cadena en una cadena
El indexOf() método devuelve el índice de (la posición de) la primera aparición de un texto especificado en una cadena:
Ejemplo
var str = "Please locate where 'locate' occurs!";
var pos = str.indexOf("locate");
Inténtalo tú mismo " El lastIndexOf() método devuelve el índice de la última aparición de un texto especificado en una cadena:
Ejemplo
var str = "Please locate where 'locate' occurs!";
var pos = str.lastIndexOf("locate");
Inténtalo tú mismo " Tanto el indexOf() , y el lastIndexOf() métodos devuelven -1 si no se encuentra el texto.
JavaScript cuenta las posiciones de cero.
0 es la primera posición en una cadena, 1 es el segundo, 2 es el tercer ...
Ambos métodos aceptan un segundo parámetro como la posición de partida para la búsqueda.
Buscar una cadena en una cadena
La search() método busca una cadena para un valor especificado y devuelve la posición del partido:
Ejemplo
var str = "Please locate where 'locate' occurs!";
var pos = str.search("locate");
Inténtalo tú mismo " ¿Te diste cuenta?
Los dos métodos, indexOf() y search() , son iguales.
Ellos aceptan los mismos argumentos (parámetros), y devuelven el mismo valor.
Los dos métodos son iguales, pero la search() método puede tomar mucho más potentes valores de búsqueda.
Va a aprender más acerca de los valores de búsqueda de gran alcance en el capítulo acerca de las expresiones regulares.
La extracción de partes de cuerda
Hay 3 métodos para la extracción de una parte de una cadena:
- slice(start, end)
- substring(start, end)
- substr(start, length)
El slice() Método
slice() extrae una parte de una cadena y devuelve la parte extraída en una nueva cadena.
El método toma 2 parámetros: el índice inicial (posición), y el índice final (posición).
En este ejemplo se rebana a cabo una porción de una cadena desde la posición 7 a la posición 13:
Ejemplo
var str = "Apple, Banana, Kiwi";
var res = str.slice(7,13);
El resultado de la resolución será:
Banana
Inténtalo tú mismo " Si un parámetro es negativo, la posición se cuenta desde el final de la cadena.
En este ejemplo se rebana a cabo una porción de una cadena desde la posición -12 a la posición -6:
Ejemplo
var str = "Apple, Banana, Kiwi";
var res = str.slice(-12,-6);
El resultado de la resolución será:
Banana
Inténtalo tú mismo " Si se omite el segundo parámetro, el método cortará el resto de la cadena:
o, a contar desde el final:
posiciones negativas no funcionan en Internet Explorer 8 y versiones anteriores.
La substring() Método
substring() es similar a slice() .
La diferencia es que substring() no puede aceptar índices negativos.
Ejemplo
var str = "Apple, Banana, Kiwi";
var res = str.substring(7,13);
El resultado de la res será:
Banana
Inténtalo tú mismo " Si se omite el segundo parámetro, substring() va a cortar el resto de la cadena.
El substr() Método
substr() es similar a slice() .
La diferencia es que el segundo parámetro especifica el length de la parte extraída.
Ejemplo
var str = "Apple, Banana, Kiwi";
var res = str.substr(7,6);
El resultado de la resolución será:
Banana
Inténtalo tú mismo " Si el primer parámetro es negativo, la posición de cuenta desde el extremo de la cadena.
El segundo parámetro no puede ser negativo, ya que define la longitud.
Si se omite el segundo parámetro, substr() va a cortar el resto de la cadena.
Sustitución de cadena de contenido
El replace() método sustituye un valor especificado con otro valor en una cadena:
Ejemplo
str = "Please visit Microsoft!";
var n = str.replace("Microsoft","w3ii");
Inténtalo tú mismo " El replace() método también puede tener una expresión regular como el valor de búsqueda.
Por defecto, el replace() función reemplaza sólo el primer partido. Para reemplazar todos los ajustes, utilice una expresión regular con la bandera ag (por comparación global):
Ejemplo
str = "Please visit Microsoft!";
var n = str.replace(/Microsoft/g,"w3ii");
Inténtalo tú mismo " El replace() método no cambia la cadena a la que se llama el. Se devuelve una nueva cadena.
La conversión a mayúsculas y minúsculas
Una cadena se convierte a mayúsculas con toUpperCase() :
Ejemplo
var text1 = "Hello World!"; // String
var text2 = text1.toUpperCase(); // text2 is text1 converted to upper
Inténtalo tú mismo " Una cadena se convierte a minúsculas con toLowerCase() :
Ejemplo
var text1 = "Hello World!"; // String
var text2 = text1.toLowerCase(); // text2 is text1
converted to lower
Inténtalo tú mismo " El concat() Método
concat() se une a dos o más cadenas:
Ejemplo
var text1 = "Hello";
var text2 = "World";
text3 = text1.concat(" ",text2);
Inténtalo tú mismo " El concat() método puede ser utilizado en lugar del operador más. Estas dos líneas hacen lo mismo:
Ejemplo
var text = "Hello" + " " + "World!";
var text = "Hello".concat(" ","World!");
Todos los métodos de las cadenas devuelven una nueva cadena. No modifican la cadena original.
Formalmente dijeron: Las cadenas son inmutables: Las cadenas no se puede cambiar, sólo se sustituye.
La extracción de caracteres de la cadena
Hay 2 métodos seguros para la extracción de caracteres de la cadena:
- charAt(position)
- charCodeAt(position)
El charAt() Método
El charAt() método devuelve el carácter en un índice específico (posición) en una cadena:
El charCodeAt() Método
El charCodeAt() método devuelve el Unicode del carácter situado en un índice especificado de una cadena:
Acceso a una cadena como una matriz es inseguro
Es posible que haya visto un código como éste, el acceso a una cadena como una matriz:
var str = "HELLO WORLD";
str[0]; // returns H
Esto es peligroso e impredecible:
- No funciona en todos los navegadores (no en IE5, IE6, IE7)
- Esto hace que las cadenas se parecen a las matrices (pero no lo son)
- str[0] = "H" no da un error (pero no funciona)
Si desea leer una cadena como una matriz, convertirlo en una matriz en primer lugar.
La conversión de una cadena en una matriz
Una cadena se puede convertir en una matriz con el split() Método:
Ejemplo
var txt = "a,b,c,d,e"; // String
txt.split(","); // Split on commas
txt.split(" "); // Split on spaces
txt.split("|"); // Split on pipe
Inténtalo tú mismo " Si se omite el separador, la matriz devuelta contendrá toda la cadena entre el índice [0].
Si el separador es "", la matriz devuelta será una matriz de caracteres individuales:
Referencia completa de cuerdas
Para una referencia completa, acceda a nuestra Referencia completa String de JavaScript .
La referencia contiene descripciones y ejemplos de todas las propiedades y métodos de las cadenas.
Ponte a prueba con los ejercicios!
Ejercicio 1 » Ejercicio 2» Ejercicio 3 » Ejercicio 4» Ejercicio 5 » Ejercicio 6»