Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

156
Vistas
Buscar reemplazar en las secuencias de comandos de la aplicación Google Sheets con Regex no funciona

He leído muchas publicaciones sobre esto en SO. Tengo problemas para usar Regex en los scripts de Google para hojas.

Tengo una lista de dominios.

Objetivo: quiero eliminar toda la información de ruta de todos los dominios de la lista (todo después de .*/ )

Por ejemplo, quiero convertir esto:

example.com/path-after-domain

example2.com/another-path-afterDomain

dentro de esto:

example1.com

example2.com

Esto es lo que estoy tratando de hacer.

Función de bucle y reemplazo

 function replaceInSheet(values, to_replace, replace_with) { for(var row in values){ var replaced_values = values[row].map(function(original_value) { return original_value.toString().replace(to_replace,replace_with) }) } }

Usando la función pasando Regex

 replaceInSheet(values, '((\/\w+)*\/)(.*)', "")

También probé usando createtextfinder . Pero recibo un error al intentar usar expresiones regulares

 const check = range.createTextFinder("((\/\w+)*\/)(.*)").useRegularExpression(true) check.replaceWith("")

Nota: probé la expresión regular con https://regex101.com/ y obtiene con éxito toda la información de la ruta

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Creo que su objetivo es el siguiente.

  • Desea lograr la siguiente conversión con Google Apps Script.

    • De

       example.com/path-after-domain, example2.com/another-path-afterDomain
    • A

       example1.com, example2.com

En este caso, ¿qué tal usar split de la siguiente manera?

Guión de muestra:

 const values = ["example.com/path-after-domain", "example2.com/another-path-afterDomain"]; const res = values.map(e => e.split("/")[0]); console.log(res) // [ 'example.com', 'example2.com' ]

Nota:

  • Si desea usar esto como una función personalizada, ¿qué le parece el siguiente script de muestra? En este caso, coloque una función personalizada como =SAMPLE(A1:A10) en una celda.

     const SAMPLE = values => values.map(r => r.map(c => c.split("/")[0]));
  • Si desea usar TextFinder usando su expresión regular de ((\/\w+)*\/)(.*) , ¿qué tal el siguiente script de muestra? En este caso, escape \ . Pensé que \\/.* también podría usarse.

     const sheet = SpreadsheetApp.getActiveSheet(); sheet.getRange("A1:A" + sheet.getLastRow()).createTextFinder("((\\/\\w+)*\\/)(.*)").useRegularExpression(true).replaceAllWith("");
    • En este caso, se utiliza la columna "A".
  • Si se usa la función incorporada, ¿qué tal la siguiente fórmula de muestra?

     =ARRAYFORMULA(IFERROR(INDEX(SPLIT(A1:A,"/"),, 1))) =ARRAYFORMULA(REGEXREPLACE(A1:A,"/.*",""))

Referencia:

  • separar()
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda