necesito para que coincida con una subcadena dentro de la cadena X Y y X que coincidir luego despojar todo después de que en Y.Javascript para que coincida con subcadena y tira todo después de que
Respuesta
Código
var text1 = "abcdefgh";
var text2 = "cde";
alert(text1.substring(0, text1.indexOf(text2)));
alert(text1.substring(0, text1.indexOf(text2) + text2.length));
primera alerta no incluye texto de búsqueda, el segundo lo hace.
Explicación
Voy a explicar la segunda línea del código.
text1.substring(0, text1.indexOf(text2) + text2.length))
text1.substring(startIndex, endIndex)
Esta pieza de código toma cada personaje desde startIndex hasta endIndex, siendo 0 el primer carácter. Así que en nuestro código, que la búsqueda de 0 (inicio) y el punto final:
text1.indexOf(text2)
Esto devuelve la posición del carácter de la primera instancia de texto2, en el texto 1.
text2.length
Esto devuelve el longitud del texto 2, así que si queremos incluir esto en nuestro valor devuelto, lo agregamos a la longitud del índice devuelto, ¡dándonos el resultado devuelto!
var index = y.indexOf(x);
y = index >= 0 ? y.substring(0, y.indexOf(x) + x.length) : y;
var X = 'S';
var Y = 'TEST';
if(Y.indexOf(X) != -1){
var pos = parseInt(Y.indexOf(X)) + parseInt(X.length);
var str = Y.substring(0, pos);
Y = str;
}
document.write(Y);
Si usted está buscando para que coincida con solo X en Y y devolver sólo X, me gustaría sugerir el uso de match
.
var x = "treasure";
var y = "There's treasure somewhere in here.";
var results = y.match(new RegExp(x)); // -> ["treasure"]
results
, o bien ser una matriz vacía o contener la primera aparición de x
.
Si quiere todo en y
hasta e incluyendo la primera aparición de x
, simplemente modifique la expresión regular un poco.
var results2 = y.match(new RegExp(".*" + x)); // -> ["There's treasure"]
¿Cómo puedo hacer si hay dos "tesoros" de tiempo en la cadena y quiero unirlos después de la última? – user2284570
- 1. Regex para que coincida con algo que no sea una subcadena específica
- 2. Regex para que coincida con palabras parciales (JavaScript)
- 3. javascript expresión regular para que no coincida con una palabra
- 4. expresión regular para que coincida con todo, excepto las palabras dadas (que puede incluir guiones/guiones)
- 5. expresiones regulares para que coincida con EOF
- 6. Regex para que coincida con palabras completas que comienzan con $
- 7. Regex para que coincida con una cadena completa solo si carece de una subcadena/sufijo dado
- 8. Javascript subcadena partido después de expresión regular
- 9. Regex para que coincida con Domain.CCTLD
- 10. expresión regular para que coincida con carácter alfanumérico y comercial (&)
- 11. Regex para que coincida con el último carácter de espacio
- 12. Rastreador de errores distribuidos para que coincida con DVC
- 13. Rubí Expresión regular para que coincida con una dirección URL
- 14. Regex para que coincida con la frase exacta, nada antes o después de la frase
- 15. Expresión regular para que no coincida con "www"
- 16. Regex para que coincida con la última parte de la URL con JavaScript
- 17. Javascript coincida y reemplace con unicode
- 18. C#. Regex más rápida para que coincida con cualquier cadena
- 19. búsqueda de php (difusa) que coincida con
- 20. C# expresión regular para que coincida con CUALQUIER carácter?
- 21. Regex para que coincida con una palabra con signos + (más)
- 22. PHP expresión regular para que coincida con un div
- 23. Javascript Expresión regular para que coincida con el código postal de 5 o 9 dígitos
- 24. Regex para que coincida con una cadena después de dos puntos
- 25. "ansioso" expresión regular que coincida con
- 26. Patrón para que coincida con la lista de elementos idénticos
- 27. Colores de ordenación (hex) para que coincida con el arcoíris
- 28. Regex para que coincida con palabras de cierta longitud
- 29. Expresión regular de JavaScript para que coincida con los dígitos de X solo
- 30. expresión regular para que coincida con el URL
No es necesario utilizar 'parseInt' aquí. 'indexOf' y' length' siempre devuelven enteros. –
@Felix Kling: Solo por mi hábito de usar parseInt(), cuando hago operaciones aritméticas –