Por qué la función Reemplazar de Javascript solo reemplaza la primera instancia
Al usar reemplazar() en JavaScript, puede encontrar una situación en la que solo reemplaza la primera instancia de una cadena de destino. Esta aparente inconsistencia se debe al comportamiento predeterminado de la función.
Comprender el comportamiento de reemplazo()
De manera predeterminada, reemplazar() busca y reemplaza la primera aparición de una subcadena especificada dentro de una cuerda. Si desea reemplazar todas las instancias, debe especificar el indicador g (global) en la expresión regular.
Ejemplo: configurar el indicador g
Considere el ejemplo proporcionado en la pregunta:
var date = $('#Date').val(); // Gets value "12/31/2009" var id = 'c_' date.replace("/", ''); // Replaces only the first "/", resulting in "c_1231/2009"
Para reemplazar todas las instancias de la barra diagonal (/), use la bandera g:
var id = 'c_' date.replace(new RegExp("/", "g"), ''); // Replaces all "/" with "", resulting in "c_12312009"
Alternativamente, puedes usar una sintaxis más simple:
var id = 'c_' date.replace(/\//g, ''); // Equivalent to the previous line
Al configurar el indicador g, la expresión regular coincide con todas las apariciones de la cadena de destino y las reemplaza con el nuevo valor especificado. Este comportamiento garantiza que todas las instancias se reemplacen según lo previsto.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3