Sé que puedo pasar una cadena como el segundo parámetro al método de reemplazo del objeto de cadena de JavaScript. En este caso puedo usar $ ` y $' para hacer referencia al texto de la parte izquierda/derecha de una persona compatible. Ahora mi pregunta es: si paso una función de devolución de llamada como el segundo parámetro, ¿cómo puedo obtener la misma información? Quiero usar esta información en la función de devolución de llamada. Muchas gracias.pregunta sobre el método de reemplazo de cadena de JavaScript
7
A
Respuesta
10
Ver Mozilla's documentation; no obtendrás esa información de forma gratuita.
La buena noticia es que va a obtener el desplazamiento de la coincidencia como su penúltimo argumento, y la cadena total como la última. Para que pueda ejecutar sus propias funciones de subcadena.
var str = 'abc';
str = str.replace('b', function (match, offset, full) {
var before = full.substr(0, offset),
after = full.substr(offset + 1, full.length - offset);
return 'foo'; // or, ya know, something actually using before and after
});
0
var str = 'abc';
str = str.replace('b', function (match) {
// (!) List of actual arguments depends from template of RegEx >>>
var offset = arguments.length - 1, full = arguments[offset];
offset = arguments[offset - 1];
// (!) But the first argument is match
var before = full.substr(0, offset),
after = full.substr(offset + 1, full.length - offset);
return 'foo'; // or, ya know, something actually using before and after
});
Cuestiones relacionadas
- 1. Pregunta sobre el método
- 2. Pregunta sobre el reemplazo "inteligente" en mathematica
- 3. Una pregunta sobre el nombre de propiedad del objeto JavaScript
- 4. Utilizando el método de reemplazo de JavaScript() con el interruptor global en una variable
- 5. Pregunta sobre el método ActiveRecord # default_scope y el orden predeterminado
- 6. Método de reemplazo de Javascript, reemplace con "$ 1"
- 7. Reemplazo de cadena XSLT
- 8. Método de búsqueda y reemplazo de cadenas
- 9. Pregunta sobre el estilo OOP funcional en JavaScript
- 10. Pregunta sobre el patrón de la torta
- 11. Pregunta sobre el puerto de vista
- 12. Pregunta sobre el diseño de la tabla
- 13. Pregunta de método HttpPostedFileBase.SaveAs
- 14. Búsqueda y reemplazo de JavaScript simple
- 15. Pregunta sobre la ejecución del evento en javascript
- 16. Pregunta sobre velocidad de lazo
- 17. Pregunta sobre eventos de Windows
- 18. Cadena de reemplazo en Sass
- 19. Pregunta sobre Cyclone
- 20. T-SQL cadena de reemplazo
- 21. Javascript búsqueda y reemplazo
- 22. Reemplazo de CSS con JavaScript
- 23. método de reemplazo, pero parámetro es arg0
- 24. Aplicar pregunta() de JavaScript
- 25. Pregunta sobre el cierre de Scala (de "Programación en Scala")
- 26. Reemplazo del método fetch() en el modelo de red troncal
- 27. Reemplazo eficiente de cadenas de Javascript
- 28. Pregunta sobre boost :: swap
- 29. Pregunta sobre la eficacia del cierre/encapsulado en JavaScript
- 30. Pregunta sobre la implementación de Bezier Curves?
... espera, se puede utilizar una devolución de llamada? ¡Ordenado! – Matchu