En JS, hay tres SLICE (), substr () y substr () comúnmente usados en la función de intercepción de caracteres. Permítanme presentarle algún uso y diferencias entre las funciones SLICE (), SUBSTR () y SUBSTR () al interceptar caracteres.
Tres funciones para tomar cadenas: SLICE (Start, [End]), Substring (Start, [End]) y Substr (Start, [Longitud])
Atributos relacionados:
rebanada()
El primer parámetro representa la posición inicial, el segundo parámetro representa la siguiente posición de la posición final, y la longitud de la cadena interceptada es la diferencia entre el segundo parámetro y el primer parámetro; Si el valor del parámetro es negativo, el valor se agrega a la longitud de la cadena y se convierte a un valor positivo; Si el primer parámetro es igual a mayor que el segundo parámetro, se devuelve una cadena vacía.
Subcadena ()
El primer parámetro representa la posición de inicio, y el segundo parámetro representa la siguiente posición de la posición final; Si el valor del parámetro es negativo, el valor se convierte a 0; Entre los dos parámetros, el valor más pequeño se toma como la posición de inicio, y la longitud de la cadena interceptada es la diferencia entre el valor mayor y el valor más pequeño.
subStr ()
El primer parámetro representa la posición de inicio, y el segundo parámetro representa la longitud interceptada
PD: Todas las cuerdas comienzan desde 0
ejemplo:
<script type = "text/javaScript"> var stmp = "rcinn.cn"; // usar una alerta de parámetro (stmp.slice (3)); // Del cuarto personaje, intercepta el último personaje; return "nn.cn" alerta (stmp.substring (3)); // Del cuarto personaje, intercepta el último personaje; return "nn.cn" // use dos parámetros alerta (stmp.slice (1,5)) // desde el segundo carácter, al quinto carácter; devolver alerta "Cinn" (stmp.substring (1,5)); // Desde el segundo personaje, al quinto personaje; return "Cinn" // si solo se usa un parámetro y es 0, luego devuelva la alerta de parámetro completa (stmp.slice (0)); // retrocede la alerta de cadena completa (stmp.substring (0)) ;// El ejemplo anterior, podemos ver que el uso de slice () y sustring () son los mismos // Los valores devueltos son los mismos, pero cuando los parámetros son negativos, sus valores de retorno son diferentes. Ver la siguiente alerta de ejemplo (stmp.slice (2, -5)); // return "i" alerta (stmp.substring (2, -5)); // return "rc" // de los dos ejemplos anteriores, podemos ver que Slice (2, -5) en realidad es en realidad Slice (2,3) // Longitud de 5 de cadena negativa a los dos de los dos de la cadena. devuelto); // La subcadena (2, -5) es en realidad subcadena (2,0) y los dígitos negativos se convierten a 0, la subcadena siempre toma un número menor como posición inicial. alerta (stmp.substring (1,5)) // Comience desde el segundo carácter al quinto carácter; return "Cinn" alerta (stmp.substr (1,5)); // Comience desde el segundo carácter, intercepta 5 caracteres; Regrese "Cinn". </script>
La diferencia entre los substr y los métodos de subcadena
<script type = "text/javaScript"> var str = "0123456789"; // alerta (str.substring (0)); // ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------- alerta (str.substring (-10)); // -------------- "0123456789" alerta (str.substring (-12)); // -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------- alerta (str.substring (2,2)); // ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------- alerta (str.substr (5)); // ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------- alerta (str.substr (0,10)); // ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------- alerta (str.substr (-1,5)); // -------------- "01234" alerta (str.substr (-1, -5)); // ------------------- "" </script>
Función: Split ()
Función: use un separador especificado para dividir una cadena en una matriz
ejemplo:
str = "jpg | bmp | gif | ico | png"; arr = thestring.split ("|"); // arr es una matriz que contiene valores de caracteres "jpg", "bmp", "gif", "ico" y "png"Función: John ()
Función: use el delimitador de su elección para combinar una matriz en una cadena
ejemplo:
var delimitedString = myArray.Join (delimitador); var myList = new Array ("jpg", "bmp", "gif", "ico", "png"); var portableList = myList.Join ("|"); // El resultado es jpg | bmp | gif | ico | pngFunción: indexOf ()
Función: devuelva el subíndice del primer carácter que coincide con la subcadena en la cadena
var myString = "javascript"; var w = myString.IndexOf ("V"); W será 2Var x = myString.IndexOf ("S”); X será 4Var y = myString.IndexOf ("script"); y también será 4Var Z = myString.IndexOf ("clave"); Z será -1 será -1 será -1 será -1 será -1Vi otro método muy simple en línea, el código es el siguiente:
función func (s, n) {return s.replace (/([^x00-xff])/g, "$ 1a"). slice (0, n) .replace (/([^x00-xff]) a/g, "$ 1"); }Este método es muy inteligente y básicamente correcto. Se dice "básicamente" porque cuando se toma una subcadena con la longitud 6 a la izquierda de "123 prueba de carácter chino", devuelve "123 caracteres chinos", no "123 chinos". Por supuesto, esto no es necesariamente un problema, y en algunos casos los requisitos pueden ser así. Este método se puede mejorar de la siguiente manera:
función func (s, n) {return s.slice (0, n) .replace (/([^x00-xff])/g, "$ 1a"). Slice (0, n) .replace (/([^x00-xff]) a/g, "$ 1"); }Lo anterior se trata de este artículo, espero que sea útil para todos aprender la programación de JavaScript.