Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

148
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda