Métodos de cadenas de JavaScript
- Página anterior Cadenas JS
- Página siguiente Búsqueda de cadenas JS
Los métodos de cadena ayudan a manejar cadenas.
Métodos y propiedades de cadena
Los valores originales, como "Bill Gates", no pueden tener propiedades y métodos (porque no son objetos).
Pero a través de JavaScript, los métodos y propiedades también se pueden usar en valores originales, porque JavaScript considera los valores originales como objetos cuando se ejecutan métodos y propiedades.
Longitud de la cadena
longitud
La propiedad devuelve la longitud de una cadena:
Ejemplo
var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; var sln = txt.length;
Buscar una cadena dentro de una cadena
indexOf()
El método devuelve el texto específico en una cadena:PrimeraÍndice de aparición (posición):
Ejemplo
var str = "El nombre completo de China es la República Popular China."; var pos = str.indexOf("China");
JavaScript comienza a contar desde cero.
0 es la primera posición de la cadena, 1 es la segunda, 2 es la tercera...
lastIndexOf()
El método devuelve la posición de un texto específico en una cadena:ÚltimoÍndice de una aparición:
Ejemplo
var str = "El nombre completo de China es la República Popular China."; var pos = str.lastIndexOf("China");
Si no se encuentra el texto: indexOf()
Y lastIndexOf()
Ambos devuelven -1.
Ejemplo
var str = "El nombre completo de China es la República Popular China."; var pos = str.indexOf("USA");
Ambos métodos aceptan un segundo parámetro como la posición de inicio de la búsqueda.
Ejemplo
var str = "El nombre completo de China es la República Popular China."; var pos = str.indexOf("China", 18);
lastIndexOf()
El método busca hacia atrás (desde el final hacia el principio), lo que significa: si el segundo parámetro es 50, se comenzará a buscar desde la posición 50 hasta el inicio de la cadena.
Ejemplo
var str = "El nombre completo de China es la República Popular China."; var pos = str.lastIndexOf("China", 50);
Buscar una cadena dentro de una cadena
search()
El método busca una cadena específica dentro de una cadena y devuelve la posición de coincidencia:
Ejemplo
var str = "El nombre completo de China es la República Popular China."; var pos = str.search("locate");
¿Te has dado cuenta?
dos métodos,indexOf()
y search()
, esIguales.
Estos dos métodos no son iguales. La diferencia radica en:
- El método search() no puede configurar el segundo parámetro de inicio de ubicación.
- El método indexOf() no puede configurar valores de búsqueda más poderosos (expresiones regulares).
Vamos aExpresiones regularesaprender estos valores de búsqueda más poderosos.
Extraer parte de la cadena de texto
Hay tres métodos para extraer partes de una cadena de texto:
- slice(inicio, final)
- substring(inicio, final)
- substr(inicio, longitud)
Método slice()
slice()
Extraer una parte de la cadena y devolver la parte extraída en una nueva cadena.
Este método establece dos parámetros: el índice de inicio (ubicación de inicio), el índice de finalización (ubicación de final).
Este ejemplo recorta el fragmento desde la posición 7 hasta la posición 13 de la cadena:
Ejemplo
var str = "Apple, Banana, Mango"; var res = str.slice(7,13);
El resultado de res es:
Banana
Si algún parámetro es negativo, se comienza a contar desde el final de la cadena.
Este ejemplo recorta el fragmento desde la posición -12 hasta la posición -6 de la cadena:
Ejemplo
var str = "Apple, Banana, Mango"; var res = str.slice(-13,-7);
El resultado de res es:
Banana
Si se omite el segundo parámetro, este método recortará la parte restante de la cadena:
Ejemplo
var res = str.slice(7);
O contar desde el final:
Ejemplo
var res = str.slice(-13);
Consejo:Las posiciones de valor negativo no son aplicables en Internet Explorer 8 y versiones anteriores.
Método substring()
substring()
es similar a slice()
.
La diferencia radica en substring()
No se puede aceptar un índice negativo.
Ejemplo
var str = "Apple, Banana, Mango"; var res = str.substring(7,13);
El resultado de res es:
Banana
Si se omite el segundo parámetro, este substring()
recorta la parte restante de la cadena.
Método substr()
substr()
es similar a slice()
.
La diferencia radica en que el segundo parámetro especifica la parteLongitud.
Ejemplo
var str = "Apple, Banana, Mango"; var res = str.substr(7,6);
El resultado de res es:
Banana
Si se omite el segundo parámetro, este substr() recortará la parte restante de la cadena.
Ejemplo
var str = "Apple, Banana, Mango"; var res = str.substr(7);
El resultado de res es:
Banana, Mango
Si el primer parámetro es negativo, se calcula la posición desde el final de la cadena.
Ejemplo
var str = "Apple, Banana, Mango"; var res = str.substr(-5);
El resultado de res es:
Mango
El segundo parámetro no puede ser negativo, ya que define la longitud.
Contenido de la cadena de reemplazo
replace()
El método reemplaza un valor en otro valor especificado en la cadena:
Ejemplo
str = "Por favor, visita Microsoft!"; var n = str.replace("Microsoft", "W3School");
replace()
El método no cambia la cadena que lo llama. Regresa una nueva cadena.
Por defecto,replace()
solo reemplaza la primera coincidencia:
Ejemplo
str = "Por favor, visita Microsoft y Microsoft!"; var n = str.replace("Microsoft", "W3School");
Por defecto,replace()
Sensible a mayúsculas y minúsculas. Por lo tanto, no coincide con MICROSOFT:
Ejemplo
str = "Por favor, visita Microsoft!"; var n = str.replace("MICROSOFT", "W3School");
Para realizar un reemplazo insensible a mayúsculas y minúsculas, usa la expresión regular /i
(insensible a mayúsculas y minúsculas):
Ejemplo
str = "Por favor, visita Microsoft!"; var n = str.replace(/MICROSOFT/i, "W3School");
Por favor, ten en cuenta que las expresiones regulares no llevan comillas.
Para reemplazar todos los coincidencias, usa g
Símbolo (usado para búsqueda global):
Ejemplo
str = "Por favor, visita Microsoft y Microsoft!"; var n = str.replace(/Microsoft/g, "W3School");
Aprenderás más sobre expresiones regulares en el capítulo de expresiones regulares en JavaScriptExpresiones regularesdel contenido.
Convertir a mayúsculas y minúsculas
A través de toUpperCase()
Convertir una cadena a mayúsculas:
Ejemplo
var text1 = "Hello World!"; // Cadena var text2 = text1.toUpperCase(); // text2 es la versión en mayúsculas de text1
A través de toLowerCase()
Convertir una cadena a minúsculas:
Ejemplo
var text1 = "Hello World!"; // Cadena var text2 = text1.toLowerCase(); // text2 es la versión en minúsculas de text1
Método concat()
concat()
Conectar dos o más cadenas:
Ejemplo
var text1 = "Hello"; var text2 = "World"; text3 = text1.concat(" ",text2);
concat()
Los métodos se pueden usar en lugar del operador de suma. Las siguientes dos líneas son equivalentes:
Ejemplo
var text = "Hello" + " " + "World!"; var text = "Hello".concat(" ","World!");
Todos los métodos de cadena retornan una nueva cadena. No modifican la cadena original.
En términos formales: una cadena es inmutable: no se puede modificar, solo se puede reemplazar.
String.trim()
trim()
El método elimina los espacios en blanco en los extremos de la cadena:
Ejemplo
var str = " Hello World! "; alert(str.trim());
Advertencia:Internet Explorer 8 o versiones anteriores no lo soportan trim()
Método.
Para soportar IE 8, puede usar expresiones regulares con este método. replace()
Método en sustitución de:
Ejemplo
var str = " Hello World! "; alert(str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''));
También puede usar el esquema de replace anterior para agregar la función trim a JavaScript String.prototype:
Ejemplo
if (!String.prototype.trim) { String.prototype.trim = function () { return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''); }; var str = " Hello World! "; alert(str.trim());
Extraer caracteres de una cadena
Estos son dos métodos para extraer caracteres de una cadena:SeguroMétodo:
- charAt(posición)
- charCodeAt(posición)
Método charAt()
charAt()
El método devuelve la cadena en la posición especificada (índice):
Ejemplo
var str = "HELLO WORLD"; str.charAt(0); // Devuelve H
Método charCodeAt()
charCodeAt()
El método devuelve la codificación unicode del carácter en la posición especificada de la cadena:
Ejemplo
var str = "HELLO WORLD"; str.charCodeAt(0); // Devuelve 72
Acceso a propiedades (Property Access)
ECMAScript 5 (2009) permite el acceso a propiedades de las cadenas [ ]:
Ejemplo
var str = "HELLO WORLD"; str[0]; // Devuelve H
El acceso a propiedades es un poco inestable:
- No es compatible con Internet Explorer 7 o versiones anteriores
- Hace que la cadena se vea como un array (pero no lo es)
- si no se encuentra el carácter,
[ ]
Devuelveundefined
mientras quecharAt()
Devuelve una cadena vacía. - Es de solo lectura.
str[0] = "A"
No produce error (¡pero tampoco funcionará!)
Ejemplo
var str = "HELLO WORLD"; str[0] = "A"; // No produce error, pero no funcionará str[0]; // Devuelve H
Consejo:Si desea manejar una cadena como un array, puede convertirla primero en un array.
Convertir una cadena en un array
Puede hacerlo a través de split()
Convertir una cadena en un array:
Ejemplo
var txt = "a,b,c,d,e"; // Cadenas txt.split(","); // Separar con una coma txt.split(" "); // Separar con un espacio txt.split("|"); // Separar con una barra vertical
Si se omite el separador, el array devuelto contendrá la cadena completa en el índice [0].
Si el separador es "\"", el array devuelto será un array que separa caracteres individuales:
Ejemplo
var txt = "Hello"; // Cadenas txt.split("\""
Manual de referencia completo de String
Para obtener un manual de referencia completo, visite nuestro Manual de referencia de cadenas de JavaScript.
Este manual incluye descripciones e instancias de todas las propiedades y métodos de las cadenas.
- Página anterior Cadenas JS
- Página siguiente Búsqueda de cadenas JS