¡Lo más travieso! el siguiente código imprime 'llo' en lugar de 'wo' esperado. obtengo resultados tan sorprendentes para algunos otros números. ¿que me estoy perdiendo aqui?javascript substring
alert('helloworld'.substring(5, 2));
¡Lo más travieso! el siguiente código imprime 'llo' en lugar de 'wo' esperado. obtengo resultados tan sorprendentes para algunos otros números. ¿que me estoy perdiendo aqui?javascript substring
alert('helloworld'.substring(5, 2));
Estás confundiendo substring()
y substr()
: substring()
espera dos índices y no desplazamiento y la longitud. En su caso, los índices son 5 y 2, es decir, los caracteres 2..4 se devolverán ya que se excluye el índice más alto.
Comprobar la substring
syntax:
subcadena (de, a)
de requeridos. El índice donde inicia la extracción. El primer carácter está en el índice 0
a Opcional. El índice dónde detener la extracción. Si omite, se extrae el resto de la cadena
Te garantizo que es un poco extraño. No lo sabía yo mismo.
Lo que se quiere hacer es
alert('helloworld'.substring(5, 7));
alert('helloworld'.substring(5, 2));
El código anterior es incorrecto porque el primer valor es el punto de inicio hasta el final point.Eg movimiento de char 5, que es o
e ir a char 2, que es el l
, por lo que obtendrás llo
, así que le has indicado que vaya hacia atrás.
Lo que queremos es yuou
alert('helloworld'.substring(5, 7));
Ver siguiente sintaxis:
str.substring(indexA, [indexB])
Si indexA > indexB
, la función substring()
actúa como si los argumentos se invirtieron.
Considere la documentación aquí: https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/substring
Usted tiene tres opciones en Javascript:
//slice
//syntax: string.slice(start [, stop])
"Good news, everyone!".slice(5,9); // extracts 'news'
//substring
//syntax: string.substring(start [, stop])
"Good news, everyone!".substring(5,9); // extracts 'news'
//substr
//syntax: string.substr(start [, length])
"Good news, everyone!".substr(5,4); // extracts 'news'
Esto es lo que he hecho,
var stringValue = 'Welcome to India';
// if you want take get 'India'
// stringValue.substring(startIndex, EndIndex)
stringValue.substring(11, 16); // O/p 'India'
+1 para mencionar substr. –