"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Por qué el método de reemplazo de JavaScript solo reemplaza la primera instancia?

¿Por qué el método de reemplazo de JavaScript solo reemplaza la primera instancia?

Publicado el 2024-11-04
Navegar:896

Why Does JavaScript\'s Replace Method Only Replace the First Instance?

Por qué el reemplazo de JavaScript solo reemplaza la primera instancia: exploración del indicador RegExp

Cuando se utiliza el método de reemplazo de JavaScript para buscar y reemplazar una cadena por otra , puede encontrar el comportamiento en el que solo se reemplaza la primera instancia de la cadena de destino. Este comportamiento se produce porque el comportamiento predeterminado de reemplazo es realizar una única operación de búsqueda y reemplazo no global.

Reemplazo global: el indicador RegExp

Para reemplazar todo instancias de una cadena de destino en una cadena, debe especificar el indicador "global" (g) en la expresión regular utilizada en el método de reemplazo. Este indicador indica que la operación de búsqueda y reemplazo debe realizarse en toda la cadena, reemplazando cada aparición de la cadena de destino.

Por ejemplo, en su código:

var date = $('#Date').val(); // e.g., "12/31/2009"
var id = 'c_'   date.replace("/", ''); // c_1231/2009 (wrong)

Para reemplazar todas las apariciones del carácter "/", debe especificar el indicador "global":

var id = 'c_'   date.replace(new RegExp("/", "g"), ''); // c_12312009 (correct)

Como alternativa, puedes usar la sintaxis más corta:

var id = 'c_'   date.replace(/\//g, ''); // c_12312009 (correct)

Al especificar el indicador "global", el método de reemplazo reemplazará cada carácter de barra en la cadena de fecha, lo que dará como resultado el resultado correcto.

Declaración de liberación Este artículo se reimprime en: 1729641136 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

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