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

178
Vistas
Regex para apuntar a diferentes celdas en función de lo que comienza y solo reemplazando el primer carácter SI coincide ENTONCES - Google App Script

Así que tengo una columna en mi hoja de cálculo que se parece a la imagen de abajo. muestra los valores en la columna .

Mi objetivo final es crear una secuencia de comandos que elimine el primer símbolo SI corresponde; de lo contrario, solo obtenga el valor.

Hasta ahora pude eliminar todos los símbolos en una celda, pero ese no es mi objetivo real, el código que he estado usando es el siguiente.

 function removePlus() { var sheet = SpreadsheetApp.getActiveSheet(); var range = sheet.getRange('BK2:BK'); var textFinder = range.createTextFinder("+").matchFormulaText(true) textFinder.replaceAllWith("");

Ayer publiqué una pregunta y se me indicó que mirara las expresiones regulares. Sin embargo, aparece con expresiones regulares. Tengo que ingresar la cadena de valores que quiero reemplazar, pero como puede ver, los valores en la columna varían. Así que realmente no estoy seguro de cómo abordar esto en un corto período de tiempo. He estado leyendo sobre recursos pero no prevalece. Si es posible, serán útiles explicaciones detalladas o señalarme en la dirección correcta. No estoy buscando a nadie que me diga el código, realmente quiero aprender por mi cuenta, pero no estoy teniendo éxito. Gracias por el tiempo.

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

0

¿Algo como esto?

 function removeFirstSymbol() { const sheet = SpreadsheetApp.getActiveSheet() const range = sheet.getRange(`BK2:BK`) const values = range.getDisplayValues().flat() const formatted = values.map(row => { return (new RegExp(`[^A-Za-z0-9]`).test(row.charAt(0))) ? [row.slice(1)] : [row] }) range.setValues(formatted) }

Comentado:

 // Get all values as they're displayed... const values = range.getDisplayValues().flat() // For each value... const formatted = values.map(row => { // If the first character is not a number or letter... return (new RegExp(`[^A-Za-z0-9]`).test(row.charAt(0))) // Remove the first letter, ? [row.slice(1)] // Or keep as is. : [row] })

Tenga en cuenta que esto elimina TODOS los símbolos en la posición del primer carácter, como había visto en su publicación anterior.

about 4 years ago · Juan Pablo Isaza Denunciar

0

  • Usar ^[+*&%=]
    • ^ Comienzo de cadena
    • [] Clase de carácter: Cualquiera de los caracteres dentro de [] : + , * , & , % y =
  • También use useRegularExpressions para usar el análisis de expresiones regulares
 range.createTextFinder("^[+*&%=]") .matchFormulaText(true) .useRegularExpressions(true) .replaceAllWith("")
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