Así que tengo una columna en mi hoja de cálculo que se parece a la imagen de abajo.
.
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.
¿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.
^[+*&%=]^ Comienzo de cadena[] Clase de carácter: Cualquiera de los caracteres dentro de [] : + , * , & , % y =useRegularExpressions para usar el análisis de expresiones regulares range.createTextFinder("^[+*&%=]") .matchFormulaText(true) .useRegularExpressions(true) .replaceAllWith("")